v2.4.1 7c3b292

README.md RawHistoryFolder

Gordon

[License: GPL-3.0] [Go Report Card]

Self-hosted web app deployments. Push to your registry, Gordon does the rest.


What is Gordon?

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.

docker build -t myapp .
docker push registry.your-server.com/myapp:latest
# → Live at https://app.your-server.com

Build on your machine, push to deploy. Works from your laptop or CI.

Features:

  • Private Docker registry on your VPS
  • Domain-to-container routing via HTTP reverse proxy
  • Automatic deployment on image push
  • Auto-routing from image labels
  • Remote CLI management
  • Zero downtime updates
  • Persistent volumes from Dockerfile VOLUME directives
  • Environment variable management with secrets support
  • Network isolation per application
  • Single binary, ~15MB RAM

Documentation

Full documentation is available at gordon.bnema.dev

  • Documentation - Installation, configuration, CLI reference
  • Wiki - Tutorials, guides, and examples

Quick Start

# Install Gordon
curl -fsSL https://gordon.bnema.dev/install.sh | sh
# Or: curl -fsSL https://raw.githubusercontent.com/bnema/gordon/main/install.sh | sh

# Start Gordon (generates config on first run)
gordon serve

Config is created at ~/.config/gordon/gordon.toml. See the Getting Started guide for complete setup instructions.

Community

License

GPL-3.0 - Use freely, contribute back.

source
1# Gordon
2
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)
5
6Self-hosted web app deployments. Push to your registry, Gordon does the rest.
7
8- Website: https://gordon.bnema.dev
9- Documentation: [Docs](https://gordon.bnema.dev/docs) | [Wiki](https://gordon.bnema.dev/wiki)
10- Discuss: [GitHub Discussions](https://github.com/bnema/gordon/discussions)
11
12---
13
14## What is Gordon?
15
16Gordon 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.
17
18```bash
19docker build -t myapp .
20docker push registry.your-server.com/myapp:latest
21# → Live at https://app.your-server.com
22```
23
24Build on your machine, push to deploy. Works from your laptop or CI.
25
26**Features:**
27- Private Docker registry on your VPS
28- Domain-to-container routing via HTTP reverse proxy
29- Automatic deployment on image push
30- Auto-routing from image labels
31- Remote CLI management
32- Zero downtime updates
33- Persistent volumes from Dockerfile VOLUME directives
34- Environment variable management with secrets support
35- Network isolation per application
36- Single binary, ~15MB RAM
37
38## Documentation
39
40Full documentation is available at **[gordon.bnema.dev](https://gordon.bnema.dev)**
41
42- [Documentation](https://gordon.bnema.dev/docs) - Installation, configuration, CLI reference
43- [Wiki](https://gordon.bnema.dev/wiki) - Tutorials, guides, and examples
44
45## Quick Start
46
47```bash
48# Install Gordon
49curl -fsSL https://gordon.bnema.dev/install.sh | sh
50# Or: curl -fsSL https://raw.githubusercontent.com/bnema/gordon/main/install.sh | sh
51
52# Start Gordon (generates config on first run)
53gordon serve
54```
55
56Config is created at `~/.config/gordon/gordon.toml`. See the [Getting Started guide](https://gordon.bnema.dev/docs/getting-started) for complete setup instructions.
57
58## Community
59
60- [Report bugs](https://github.com/bnema/gordon/issues)
61- [Discussions](https://github.com/bnema/gordon/discussions)
62- [Submit PRs](https://github.com/bnema/gordon/pulls)
63
64## License
65
66GPL-3.0 - Use freely, contribute back.

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