For the first run, the simplest approach is to build directly on one VPS. If you prefer not to keep source code on the server, build Docker images on your computer and deliver them as an archive or through a registry — an image repository.
| Method | Where to run release commands | What the server receives |
|---|---|---|
| Server build — Source | On the VPS as the deploy user | Source from Git; Docker builds the application there |
| Image archive — Archive | On your Mac, from the project folder | Prepared images over SSH |
| Image repository — Registry | On your Mac, from the project folder | Prepared images from Docker Hub, GitLab, GHCR, or another registry |
Each guide covers first startup and updates. Start with your chosen article: it introduces shared preparation where needed.
All three methods support one server. Archive and Registry also support two: frontend/proxy separately from backend/PostgreSQL. Source works only with one VPS. Servers must use Ubuntu 24.04 and x86_64 architecture (linux/amd64).
Choose application delivery first. Backups, S3 for working images, and CI releases are configured independently. All three first-start guides below use local images and disabled backups; this is an explicitly chosen simple setup with no automatic data backup.
Already running the application? Continue to release updates, delivery/backup change commands, or interrupted operation recovery.