Self-hosted web app deployments. Push to your registry, Gordon does the rest.
- Website: https://gordon.bnema.dev
- Documentation: Docs | Wiki
- Discuss: GitHub Discussions
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.comBuild 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
Full documentation is available at gordon.bnema.dev
- Documentation - Installation, configuration, CLI reference
- Wiki - Tutorials, guides, and examples
# 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 serveConfig is created at ~/.config/gordon/gordon.toml. See the Getting Started guide for complete setup instructions.
GPL-3.0 - Use freely, contribute back.