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 @@ | |||
| 1 | 1 | # Gordon | |
| 2 | 2 | ||
| 3 | - | Your VPS already runs Docker. Gordon makes it deploy on push. | |
| 3 | + | [](https://www.gnu.org/licenses/gpl-3.0) | |
| 4 | + | [](https://goreportcard.com/report/github.com/bnema/gordon) | |
| 4 | 5 | ||
| 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. | |
| 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 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. | |
| 16 | 15 | ||
| 17 | 16 | ```bash | |
| 18 | - | # 1. Build & test locally (Docker or Podman) | |
| 19 | 17 | 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 | |
| 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 | 31 | ## Quick Start (5 minutes) | |
| 34 | 32 | ||
| @@ -1,34 +1,32 @@ | |||||
| 1 | # Gordon | 1 | # Gordon | ||
| 2 | 2 | ||||
| 3 | - | Your VPS already runs Docker. Gordon makes it deploy on push. | 3 | + | [](https://www.gnu.org/licenses/gpl-3.0) |
| 4 | + | [](https://goreportcard.com/report/github.com/bnema/gordon) | |||
| 4 | 5 | ||||
| 5 | - | ```bash | 6 | + | 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 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. |
| 16 | 15 | ||||
| 17 | ```bash | 16 | ```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 | ||||