detached b5a29f1

docs: improve README layout and clarify web app focus

- Add license and Go Report badges
- Add resource links section (docs, discussions)
- Clarify Gordon is for web apps (HTTP reverse proxy)
- Restructure header inspired by Vault README style
- Replace vague tagline with specific description
commit
b5a29f1f7dbab0687a63ed28f99ef4465711d75e
author
brice · · 2026-01-12 17:17 UTC
committer
brice · · 2026-01-12 18:40 UTC
parent
27908bb
signature
unsigned
1 file · +17 -19
M README.md +17 -19
@@ -1,34 +1,32 @@
11 # Gordon
22
3-Your VPS already runs Docker. Gordon makes it deploy on push.
3+[![License: GPL-3.0](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4+[![Go Report Card](https://goreportcard.com/badge/github.com/bnema/gordon)](https://goreportcard.com/report/github.com/bnema/gordon)
45
5-```bash
6-docker build -t myapp .
7-docker push registry.your-server.com/myapp:latest
8-# Live at https://app.your-server.com
9-```
6+Self-hosted web app deployments. Push to your registry, Gordon does the rest.
107
11-> docker push → live in production. From your laptop or CI. Your choice.
8+- Website: https://github.com/bnema/gordon
9+- Documentation: [Configuration](examples/) | [Setup Guide](#detailed-setup-guide-podman-rootless-mode)
10+- Discuss: [GitHub Discussions](https://github.com/bnema/gordon/discussions)
1211
13-Gordon combines a private container registry with a reverse proxy. Push an image, it deploys. Handles multiple domains, zero downtime updates, persistent volumes, and environment merging. Single binary, ~15MB RAM.
12+---
1413
15-## How It Works
14+Gordon is a private container registry + HTTP reverse proxy for your VPS. Push a container image exposing a web port, it deploys automatically with zero downtime.
1615
1716 ```bash
18-# 1. Build & test locally (Docker or Podman)
1917 docker build -t myapp .
20-docker run -p 8080:8080 myapp # Works? Great!
21-
22-# 2. Push to deploy
23-docker tag myapp registry.mydomain.com/myapp:latest
24-docker push registry.mydomain.com/myapp:latest
25-
26-# 3. That's it. Gordon handles the rest.
18+docker push registry.your-server.com/myapp:latest
19+# → Live at https://app.your-server.com
2720 ```
2821
29-> **Note:** All examples use `docker` commands, but `podman` works as a drop-in replacement. Just substitute `docker` with `podman` in any command.
22+Build on your machine, push to deploy. Works from your laptop or CI.
3023
31-**Your machine is the build server. If it runs locally, it runs in production.**
24+**What it does:**
25+- Runs a private Docker registry on your VPS
26+- Routes domains to containers via HTTP reverse proxy
27+- Deploys automatically when you push a new image
28+- Zero downtime updates, persistent volumes, environment merging
29+- Single binary, ~15MB RAM
3230
3331 ## Quick Start (5 minutes)
3432
@@ -1,34 +1,32 @@
1 # Gordon1 # Gordon
2 2
3-Your VPS already runs Docker. Gordon makes it deploy on push.3+[![License: GPL-3.0](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4+[![Go Report Card](https://goreportcard.com/badge/github.com/bnema/gordon)](https://goreportcard.com/report/github.com/bnema/gordon)
4 5
5-```bash6+Self-hosted web app deployments. Push to your registry, Gordon does the rest.
6-docker build -t myapp .
7-docker push registry.your-server.com/myapp:latest
8-# Live at https://app.your-server.com
9-```
10 7
11-> docker push → live in production. From your laptop or CI. Your choice.8+- Website: https://github.com/bnema/gordon
9+- Documentation: [Configuration](examples/) | [Setup Guide](#detailed-setup-guide-podman-rootless-mode)
10+- Discuss: [GitHub Discussions](https://github.com/bnema/gordon/discussions)
12 11
13-Gordon combines a private container registry with a reverse proxy. Push an image, it deploys. Handles multiple domains, zero downtime updates, persistent volumes, and environment merging. Single binary, ~15MB RAM.12+---
14 13
15-## How It Works14+Gordon is a private container registry + HTTP reverse proxy for your VPS. Push a container image exposing a web port, it deploys automatically with zero downtime.
16 15
17 ```bash16 ```bash
18-# 1. Build & test locally (Docker or Podman)
19 docker build -t myapp .17 docker build -t myapp .
20-docker run -p 8080:8080 myapp # Works? Great!18+docker push registry.your-server.com/myapp:latest
21-19+# → Live at https://app.your-server.com
22-# 2. Push to deploy
23-docker tag myapp registry.mydomain.com/myapp:latest
24-docker push registry.mydomain.com/myapp:latest
25-
26-# 3. That's it. Gordon handles the rest.
27 ```20 ```
28 21
29-> **Note:** All examples use `docker` commands, but `podman` works as a drop-in replacement. Just substitute `docker` with `podman` in any command.22+Build on your machine, push to deploy. Works from your laptop or CI.
30 23
31-**Your machine is the build server. If it runs locally, it runs in production.**24+**What it does:**
25+- Runs a private Docker registry on your VPS
26+- Routes domains to containers via HTTP reverse proxy
27+- Deploys automatically when you push a new image
28+- Zero downtime updates, persistent volumes, environment merging
29+- Single binary, ~15MB RAM
32 30
33 ## Quick Start (5 minutes)31 ## Quick Start (5 minutes)
34 32

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