detached 620c0ba

docs: clarify config is auto-generated on first start

commit
620c0ba24f3f6ba6755591e4faa92140dbc2fcb8
author
brice · · 2026-01-12 21:58 UTC
committer
brice · · 2026-01-12 20:49 UTC
parent
dae054c
signature
unsigned
2 files · +12 -24
M README.md +10 -22
@@ -40,18 +40,18 @@ Build on your machine, push to deploy. Works from your laptop or CI.
4040 ### Installation
4141
4242 ```bash
43-# Download from releases
43+# Download and install
4444 wget https://github.com/bnema/gordon/releases/latest/download/gordon_linux_amd64.tar.gz
4545 tar -xzf gordon_linux_amd64.tar.gz
4646 chmod +x gordon
4747 sudo mv gordon /usr/local/bin/
4848
49-# Create config
50-mkdir -p ~/.config/gordon
51-cp examples/minimal.toml ~/.config/gordon/gordon.toml
52-# Edit gordon.toml with your domain
49+# Start Gordon (generates config on first run)
50+gordon start
5351 ```
5452
53+Config is created at `~/.config/gordon/gordon.toml` on first start. Edit it to set your `registry_domain` and routes.
54+
5555 **Important:** For a complete working setup including networking, firewall, and systemd service, follow the [detailed setup guide](#detailed-setup-guide-podman-rootless-mode) below.
5656
5757 ## Core Concepts
@@ -261,26 +261,14 @@ sudo mv gordon /usr/local/bin/
261261
262262 ### 5. Configure Gordon
263263 ```bash
264-# Create config directory and file
265-mkdir -p ~/.config/gordon
266-cat > ~/.config/gordon/gordon.toml <<EOF
267-[server]
268-port = 8080
269-registry_port = 5000
270-registry_domain = "registry.yourdomain.com"
271-
272-[secrets]
273-backend = "unsafe" # Use "pass" or "sops" for production
264+# Run once to generate config, then stop with Ctrl+C
265+gordon start
274266
275-[registry_auth]
276-enabled = false # Enable after testing
277-
278-[routes]
279-"app.yourdomain.com" = "myapp:latest"
280-EOF
267+# Edit the generated config
268+nano ~/.config/gordon/gordon.toml
281269 ```
282270
283-Data is stored in `~/.gordon/` (registry, env files, logs, secrets).
271+Set your `registry_domain` and add routes. Data is stored in `~/.gordon/`.
284272
285273 ### 6. Create Systemd Service
286274 ```bash
@@ -40,18 +40,18 @@ Build on your machine, push to deploy. Works from your laptop or CI.
40 ### Installation40 ### Installation
41 41
42 ```bash42 ```bash
43-# Download from releases43+# Download and install
44 wget https://github.com/bnema/gordon/releases/latest/download/gordon_linux_amd64.tar.gz44 wget https://github.com/bnema/gordon/releases/latest/download/gordon_linux_amd64.tar.gz
45 tar -xzf gordon_linux_amd64.tar.gz45 tar -xzf gordon_linux_amd64.tar.gz
46 chmod +x gordon46 chmod +x gordon
47 sudo mv gordon /usr/local/bin/47 sudo mv gordon /usr/local/bin/
48 48
49-# Create config49+# Start Gordon (generates config on first run)
50-mkdir -p ~/.config/gordon50+gordon start
51-cp examples/minimal.toml ~/.config/gordon/gordon.toml
52-# Edit gordon.toml with your domain
53 ```51 ```
54 52
53+Config is created at `~/.config/gordon/gordon.toml` on first start. Edit it to set your `registry_domain` and routes.
54+
55 **Important:** For a complete working setup including networking, firewall, and systemd service, follow the [detailed setup guide](#detailed-setup-guide-podman-rootless-mode) below.55 **Important:** For a complete working setup including networking, firewall, and systemd service, follow the [detailed setup guide](#detailed-setup-guide-podman-rootless-mode) below.
56 56
57 ## Core Concepts57 ## Core Concepts
@@ -261,26 +261,14 @@ sudo mv gordon /usr/local/bin/
261 261
262 ### 5. Configure Gordon262 ### 5. Configure Gordon
263 ```bash263 ```bash
264-# Create config directory and file264+# Run once to generate config, then stop with Ctrl+C
265-mkdir -p ~/.config/gordon265+gordon start
266-cat > ~/.config/gordon/gordon.toml <<EOF
267-[server]
268-port = 8080
269-registry_port = 5000
270-registry_domain = "registry.yourdomain.com"
271-
272-[secrets]
273-backend = "unsafe" # Use "pass" or "sops" for production
274 266
275-[registry_auth]267+# Edit the generated config
276-enabled = false # Enable after testing268+nano ~/.config/gordon/gordon.toml
277-
278-[routes]
279-"app.yourdomain.com" = "myapp:latest"
280-EOF
281 ```269 ```
282 270
283-Data is stored in `~/.gordon/` (registry, env files, logs, secrets).271+Set your `registry_domain` and add routes. Data is stored in `~/.gordon/`.
284 272
285 ### 6. Create Systemd Service273 ### 6. Create Systemd Service
286 ```bash274 ```bash
M examples/README.md +2 -2
@@ -1,9 +1,9 @@
11 # Examples
22
3-Copy an example and edit:
3+Config is auto-generated on first `gordon start`. Use these examples as reference or replace the generated config:
44
55 ```bash
6-cp examples/minimal.toml ~/.config/gordon/gordon.toml
6+cp examples/production.toml ~/.config/gordon/gordon.toml
77 ```
88
99 ## Configurations
@@ -1,9 +1,9 @@
1 # Examples1 # Examples
2 2
3-Copy an example and edit:3+Config is auto-generated on first `gordon start`. Use these examples as reference or replace the generated config:
4 4
5 ```bash5 ```bash
6-cp examples/minimal.toml ~/.config/gordon/gordon.toml6+cp examples/production.toml ~/.config/gordon/gordon.toml
7 ```7 ```
8 8
9 ## Configurations9 ## Configurations

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