v2.14.0 5e11a00

index.md RawHistoryFolder

Gordon Documentation

Gordon is a self-hosted container deployment platform that combines a private Docker registry with automatic container deployment.

What is Gordon?

Gordon runs on your VPS and provides:

  • Private Container Registry - Push images from your local machine or CI
  • HTTP Reverse Proxy - Routes domains to containers automatically
  • Push-to-Deploy - Containers deploy when you push new images
  • Zero-Downtime Updates - New containers start before old ones stop
  • Single Binary - ~15MB RAM footprint

How It Works

┌─────────────────┐     push      ┌─────────────────┐
│  Your Machine   │ ────────────> │  Gordon Server  │
│  docker build   │               │                 │
│  docker push    │               │  registry:5000  │
└─────────────────┘               │  proxy:80       │
                                  └────────┬────────┘
                                           │
                                           v
                                  ┌─────────────────┐
                                  │  Your App Live  │
                                  │  app.domain.com │
                                  └─────────────────┘
  1. Build your container locally where you have computing power
  2. Push to your Gordon registry
  3. Gordon automatically deploys and routes traffic to your container

Quick Navigation

Getting Started

Configuration

CLI Reference

Deployment

Reference

Requirements

  • Linux VPS (Ubuntu/Debian recommended)
  • Docker or Podman runtime
  • Domain pointing to your server
  • Cloudflare account for HTTPS (free tier works)

Note: Gordon can run behind Cloudflare/nginx, or terminate TLS directly when server.tls_enabled = true.

source
1# Gordon Documentation
2
3Gordon is a self-hosted container deployment platform that combines a private Docker registry with automatic container deployment.
4
5## What is Gordon?
6
7Gordon runs on your VPS and provides:
8
9- **Private Container Registry** - Push images from your local machine or CI
10- **HTTP Reverse Proxy** - Routes domains to containers automatically
11- **Push-to-Deploy** - Containers deploy when you push new images
12- **Zero-Downtime Updates** - New containers start before old ones stop
13- **Single Binary** - ~15MB RAM footprint
14
15## How It Works
16
17```
18┌─────────────────┐     push      ┌─────────────────┐
19│  Your Machine   │ ────────────> │  Gordon Server  │
20│  docker build   │               │                 │
21│  docker push    │               │  registry:5000  │
22└─────────────────┘               │  proxy:80       │
23                                  └────────┬────────┘
24                                           │
25                                           v
26                                  ┌─────────────────┐
27                                  │  Your App Live  │
28                                  │  app.domain.com │
29                                  └─────────────────┘
30```
31
321. Build your container locally where you have computing power
332. Push to your Gordon registry
343. Gordon automatically deploys and routes traffic to your container
35
36## Quick Navigation
37
38### Getting Started
39
40- [Getting Started](./getting-started.md) - Deploy your first app in minutes
41- [Installation](./installation.md) - Detailed installation instructions
42- [Upgrading](./upgrading.md) - Migration guide for breaking changes
43- [Concepts](./concepts.md) - Core concepts and architecture
44
45### Configuration
46
47- [Configuration Overview](./config/index.md) - All configuration options
48- [Server Settings](./config/server.md) - Ports, domains, and runtime
49- [Routes](./config/routes.md) - Domain to container mapping
50- [Authentication](./config/auth.md) - Password and token authentication
51- [Secrets](./config/secrets.md) - Secure credential storage
52- [Network Isolation](./config/network-isolation.md) - Per-app network isolation
53- [Attachments](./config/attachments.md) - Service dependencies
54- [Logging](./config/logging.md) - Log collection and rotation
55- [Environment Variables](./config/env.md) - Per-route environment configuration
56
57### CLI Reference
58
59- [CLI Commands](./cli/index.md) - All available commands
60
61### Deployment
62
63- [Deployment Overview](./deployment/index.md) - Deployment strategies
64- [GitHub Actions](./deployment/github-actions.md) - CI/CD with GitHub
65- [Rollback](./deployment/rollback.md) - Version management and rollback
66
67### Reference
68
69- [Docker Labels](./reference/docker-labels.md) - Container and image labels
70- [Environment Variables](./reference/env-variables.md) - Environment variable syntax
71- [Troubleshooting](./reference/troubleshooting.md) - Common issues and solutions
72
73## Requirements
74
75- Linux VPS (Ubuntu/Debian recommended)
76- Docker or Podman runtime
77- Domain pointing to your server
78- Cloudflare account for HTTPS (free tier works)
79
80> **Note:** Gordon can run behind Cloudflare/nginx, or terminate TLS directly when `server.tls_enabled = true`.
81
82## Related
83
84- [Wiki Tutorials](/wiki/tutorials/index.md) - Step-by-step guides
85- [Wiki Examples](/wiki/examples/index.md) - Configuration examples

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