Krolyxon
Commit ce0f374

ferreniumdistferrenium.toml

73 lines · 2.9 KB · TOML

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# Apply changes with `systemctl reload ferrenium`.
5
6[server]
7listen = "127.0.0.1:8080" # or "unix:/run/ferrenium/ferrenium.sock"
8# base_url = "https://git.example.com" # for absolute URLs (feeds); default: http://{Host header}
9base_path = "/" # serve under a sub-path, e.g. "/git/"
10trusted_proxy = true # log X-Forwarded-For; default: false
11compression = true # gzip
12
13[site]
14title = "ferrenium"
15# description = "Personal git repositories"
16# clone_urls = ["https://git.example.com/{name}", "git@git.example.com:{name}"]
17# custom_css = "custom.css"
18# header = "header.html"
19# footer = "footer.html"
20# favicon = "favicon.png" # .ico, .png, .svg, .webp, .gif or .jpg, up to 1 MiB
21# logo = "logo.svg" # shown before the title in the top bar
22# assets_dir = "assets" # served at /-/site/; in custom_css: url("site/bg.jpg")
23
24[repos]
25scan_path = "/home/git"
26max_depth = 3
27follow_symlinks = false
28section_from_path = false
29hide = [] # globs over repo names, e.g. ["private/*"]
30snapshots = ["tar.gz", "zip"]
31https_clone = true
32
33# Optional per-repo overrides (take precedence over git config and the
34# repository's description file).
35# [[repo]]
36# name = "dotfiles"
37# description = "My dotfiles"
38# section = "config"
39# owner = "me"
40# hidden = false
41# readme = "docs/README.md"
42# default_branch = "main"
43
44[ui]
45theme = "auto" # auto | dark | light
46index_sort = "activity" # repository index order: activity | name
47code_font = "Space Mono"
48# accent = "#d71921" # hex accent color; default: Nothing red
49max_blob_kb = 1024
50max_highlight_kb = 256
51log_page = 50 # commits per log page
52
53[cache]
54size_mb = 64
55
56[watch]
57enabled = true
58debounce_ms = 500
59poll_interval_secs = 300 # 0 disables the periodic full rescan
60
61[limits]
62git_parallel = 0 # 0 = CPUs, at most 8
63heavy_parallel = 2 # blame, archives, clones and log searches at once
64heavy_wait_secs = 10 # queue time for a heavy permit before a 503
65max_requests = 512 # requests in flight; more get an immediate 503
66request_timeout_secs = 30 # until the response starts; streamed bodies are not cut
67log_scan = 10000 # commits examined per page by path/grep log filters
68diff_files = 300 # larger commits show the file list only
69diff_lines = 10000 # changed lines rendered per commit
70diff_file_lines = 2000 # changed lines rendered per file
71
72[log]
73level = "info" # RUST_LOG takes precedence when set