| 1 | # Ferrenium configuration. Every key is optional; the values shown are the |
| 2 | # defaults unless noted. Unknown keys are an error — run `ferrenium check`. |
| 3 | # Relative paths are resolved against the directory of this file. |
| 4 | |
| 5 | [server] |
| 6 | listen = "127.0.0.1:8080" # or "unix:/run/ferrenium/ferrenium.sock" |
| 7 | base_url = "https://git.krolyxon.com" # used for absolute URLs (feeds, clone URLs); default: unset |
| 8 | base_path = "/" # serve under a sub-path, e.g. "/git/" |
| 9 | trusted_proxy = true # log X-Forwarded-For; default: false |
| 10 | compression = true # gzip + brotli |
| 11 | |
| 12 | [site] |
| 13 | title = "krolyxon" # default: "ferrenium" |
| 14 | description = "Personal git repositories" |
| 15 | clone_urls = ["https://git.krolyxon.com/{name}", "git@git.krolyxon.com:{name}"] |
| 16 | # custom_css = "custom.css" |
| 17 | # header = "header.html" |
| 18 | # footer = "footer.html" |
| 19 | |
| 20 | [repos] |
| 21 | scan_path = "/home/git" |
| 22 | max_depth = 3 |
| 23 | follow_symlinks = false |
| 24 | section_from_path = false |
| 25 | hide = [] # globs over repo names, e.g. ["private/*"] |
| 26 | snapshots = ["tar.gz", "zip"] |
| 27 | https_clone = true |
| 28 | |
| 29 | # Optional per-repo overrides (take precedence over git config and the |
| 30 | # repository's description file). |
| 31 | # [[repo]] |
| 32 | # name = "dotfiles" |
| 33 | # description = "My dotfiles" |
| 34 | # section = "config" |
| 35 | # owner = "krolyxon" |
| 36 | # hidden = false |
| 37 | # readme = "docs/README.md" |
| 38 | # default_branch = "main" |
| 39 | |
| 40 | [ui] |
| 41 | theme = "auto" # auto | dark | light |
| 42 | code_font = "Space Mono" |
| 43 | max_blob_kb = 1024 |
| 44 | max_highlight_kb = 256 |
| 45 | log_page = 50 # commits per log page |
| 46 | |
| 47 | [cache] |
| 48 | size_mb = 64 |
| 49 | |
| 50 | [watch] |
| 51 | enabled = true |
| 52 | debounce_ms = 500 |
| 53 | poll_interval_secs = 300 # 0 disables the periodic full rescan |
| 54 | |
| 55 | [limits] |
| 56 | git_parallel = 0 # 0 = 2 × CPUs |
| 57 | heavy_parallel = 2 |
| 58 | request_timeout_secs = 30 |
| 59 | log_scan = 10000 # commits examined per page by path/grep log filters |
| 60 | diff_files = 300 # larger commits show the file list only |
| 61 | diff_lines = 10000 # changed lines rendered per commit |
| 62 | diff_file_lines = 2000 # changed lines rendered per file |
| 63 | |
| 64 | [log] |
| 65 | level = "info" # RUST_LOG takes precedence when set |