Prepare the server
Five minutes of prep saves an hour of debugging later.
Pick a VPS
Section titled “Pick a VPS”A small Linux box. Ubuntu 22.04+ or Debian 12+ is the most-tested path; any systemd distro works.
| Workload | vCPU | RAM | Disk |
|---|---|---|---|
| 1-3 small apps, hobby | 1 | 1 GB (min) | 20 GB |
| 5-10 apps, small team | 2 | 2 GB (recommended) | 40 GB |
| 10-20 apps, busy | 2-4 | 4 GB | 80 GB+ |
SimpleDeploy itself uses ~60 MB RAM. Everything else is your apps and Docker.
Install Docker
Section titled “Install Docker”SimpleDeploy needs Docker Engine + the Compose plugin. Skip this if Docker is already running.
# Official one-liner (verify on docs.docker.com first)curl -fsSL https://get.docker.com | sudo shsudo systemctl enable --now dockerdocker versiondocker compose versionOpen the firewall
Section titled “Open the firewall”You need three ports inbound: 22 (SSH), 80 (HTTP, Let’s Encrypt), 443 (HTTPS).
sudo ufw allow 22/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw enableIf your provider has a separate cloud firewall (AWS Security Group, Hetzner, DO), open the same ports there.
Set up DNS
Section titled “Set up DNS”Point an A record for the management domain at the server, e.g. manage.example.com.
For each app you plan to deploy, add an A record for its domain too. Wildcard records (*.example.com) work and save you a step.
-
In your DNS provider, create:
manage.example.com→203.0.113.10(your VPS IP)whoami.example.com→203.0.113.10
-
Verify propagation:
Terminal window dig +short manage.example.comYou should see your VPS IP.
Ready? On to generating the config.