v2.31.0-dev21 b59533b

gordon.toml.example RawHistoryFolder

1# Gordon example configuration
2# Copy this file to ~/.config/gordon/gordon.toml and adjust for your domain.
3
4[server]
5port = 8088
6tls_port = 8443
7registry_port = 5000
8gordon_domain = "gordon.example.com"
9# legacy_registry_domains = ["registry.example.com:5000"]
10# proxy_allowed_ips = ["173.245.48.0/20"]
11# registry_allowed_ips = []
12# registry_listen_address = ""
13# tls_cert_file = ""
14# tls_key_file = ""
15# force_https_redirect = false
16# data_dir = "~/.gordon"
17# max_blob_chunk_size = "95MB"
18# max_blob_size = "1GB"
19# max_proxy_body_size = "512MB"
20# max_proxy_response_size = "1GB"
21# max_concurrent_connections = 10000
22
23[dns]
24resolvers = ["1.1.1.1:53", "8.8.8.8:53"]
25propagation_timeout = "5m"
26polling_interval = "5s"
27
28[tls.acme]
29enabled = false
30email = ""
31challenge = "auto"
32obtain_batch_size = 1
33
34[auth]
35enabled = true
36# Use "pass" or "sops" in production. The unsafe backend reads a local file
37# under server.data_dir/secrets and is intended for development only.
38secrets_backend = "pass"
39token_secret = "gordon/auth/token_secret"
40token_expiry = "30d"
41access_token_ttl = "15m"
42
43[api.rate_limit]
44enabled = true
45global_rps = 500
46per_ip_rps = 50
47burst = 100
48trusted_proxies = []
49
50[deploy]
51pull_policy = "if-tag-changed"
52readiness_mode = "auto"
53health_timeout = "90s"
54readiness_delay = "5s"
55drain_mode = "auto"
56drain_timeout = "30s"
57drain_delay = "2s"
58
59[containers]
60# "compat" preserves broad image compatibility. "strict" enables a read-only
61# root filesystem and narrower Linux capabilities.
62security_profile = "compat"
63
64[network_isolation]
65enabled = true
66network_prefix = "gordon"
67# Set true to create Docker internal networks without direct external egress.
68internal = false
69
70[volumes]
71auto_create = true
72prefix = "gordon"
73preserve = true
74
75[images]
76# Explicit external registries must be listed here. Gordon's own registry is
77# always allowed; localhost/private/link-local registries are always rejected.
78allowed_registries = []
79# Require @sha256:<digest> for allowlisted external registries.
80require_digest = false
81
82[images.prune]
83enabled = false
84schedule = "daily"
85keep_last = 3
86
87[auto_route]
88enabled = false
89
90[logging]
91level = "info"
92format = "console"
93
94[logging.file]
95enabled = false
96# path = "~/.gordon/logs/gordon.log"
97# max_size = 100
98# max_backups = 3
99# max_age = 28
100
101[logging.container_logs]
102enabled = true
103# dir = "~/.gordon/logs/containers"
104# max_size = 100
105# max_backups = 3
106# max_age = 28
107
108[logging.access_log]
109enabled = false
110format = "json"
111output = "stdout"
112# file_path = "~/.gordon/logs/access.log"
113max_size = 100
114max_backups = 3
115max_age = 28
116exclude_health_checks = true
117syslog_identifier = "gordon-access"
118
119[telemetry]
120enabled = false
121# endpoint = "http://localhost:4318"
122# auth_token = ""
123traces = true
124metrics = true
125logs = true
126trace_sample_rate = 1.0
127
128[env]
129# dir = "~/.gordon/env"
130
131[backups]
132enabled = false
133schedule = "daily"
134storage_dir = ""
135
136[backups.retention]
137hourly = 0
138daily = 0
139weekly = 0
140monthly = 0
141
142[routes]
143# "app.example.com" = { image = "myapp:latest" }
144
145[external_routes]
146# "status.example.com" = "127.0.0.1:9000"
147
148[network_groups]
149# "backend" = ["app.example.com", "api.example.com"]
150
151[attachments]
152# "app.example.com" = ["postgres:18"]

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close