# Ferrenium configuration. Every key is optional; the values shown are the # defaults unless noted. Unknown keys are an error: run `ferrenium check`. # Relative paths are resolved against the directory of this file. # Apply changes with `systemctl reload ferrenium`. [server] listen = "127.0.0.1:8080" # or "unix:/run/ferrenium/ferrenium.sock" # base_url = "https://git.example.com" # for absolute URLs (feeds); default: http://{Host header} base_path = "/" # serve under a sub-path, e.g. "/git/" trusted_proxy = true # log X-Forwarded-For; default: false compression = true # gzip [site] title = "ferrenium" # description = "Personal git repositories" # clone_urls = ["https://git.example.com/{name}", "git@git.example.com:{name}"] # custom_css = "custom.css" # header = "header.html" # footer = "footer.html" [repos] scan_path = "/home/git" max_depth = 3 follow_symlinks = false section_from_path = false hide = [] # globs over repo names, e.g. ["private/*"] snapshots = ["tar.gz", "zip"] https_clone = true # Optional per-repo overrides (take precedence over git config and the # repository's description file). # [[repo]] # name = "dotfiles" # description = "My dotfiles" # section = "config" # owner = "me" # hidden = false # readme = "docs/README.md" # default_branch = "main" [ui] theme = "auto" # auto | dark | light index_sort = "activity" # repository index order: activity | name code_font = "Space Mono" max_blob_kb = 1024 max_highlight_kb = 256 log_page = 50 # commits per log page [cache] size_mb = 64 [watch] enabled = true debounce_ms = 500 poll_interval_secs = 300 # 0 disables the periodic full rescan [limits] git_parallel = 0 # 0 = CPUs, at most 8 heavy_parallel = 2 # blame, archives, clones and log searches at once heavy_wait_secs = 10 # queue time for a heavy permit before a 503 max_requests = 512 # requests in flight; more get an immediate 503 request_timeout_secs = 30 # until the response starts; streamed bodies are not cut log_scan = 10000 # commits examined per page by path/grep log filters diff_files = 300 # larger commits show the file list only diff_lines = 10000 # changed lines rendered per commit diff_file_lines = 2000 # changed lines rendered per file [log] level = "info" # RUST_LOG takes precedence when set