The $5 VPS Kit — self-hosting stack for a 1 GB server (compose + hardening + backups)
A memory-capped docker compose stack that turns a 1 vCPU / 1 GB VPS into a useful personal server in about 20 minutes, with automatic HTTPS, first-boot hardening and nightly off-box backups.
Built in answer to the Hacker News thread "What do you run on a $5 VPS that's worth keeping online 24/7?" - it packages the things people in that thread actually run, chosen for being light on RAM and SQLite-backed (no database containers to feed).
WHAT'S IN THE ZIP
- compose.yml with profiles: core (Caddy reverse proxy + auto TLS, Vaultwarden, Uptime Kuma, ntfy, FreshRSS), git (Forgejo), sync (Syncthing), budget (Actual Budget), monitor (Beszel), vpn (wg-easy WireGuard). Every container has a hard mem_limit and capped logs.
- Caddyfile with one subdomain per service and sane security headers.
- scripts/harden.sh: sudo user, key-only SSH, ufw, fail2ban, unattended upgrades, 2 GB swap, Docker install. One command on a fresh Debian/Ubuntu box.
- scripts/backup.sh: nightly restic snapshot of every volume to local, SFTP, S3/B2/R2 or any rclone remote, with retention and a healthcheck ping.
- scripts/mem.sh: what is using RAM right now.
- MEMORY.md: per-service memory budget and the rules for not getting OOM-killed on 1 GB.
- README.md: quick start, post-install checklist, update and removal.
HONEST NOTES
- The compose file is validated (docker compose config) and the scripts are syntax-checked; the memory figures are planning estimates from upstream docs, not benchmarks run for this kit. Run mem.sh on your own box.
- No mail server and no heavy media apps (Immich, Nextcloud, Jellyfin) - deliberately. MEMORY.md explains why.
- MIT licensed. Pay what you want from $3; it is 19 KB of plain text you can read before you run any of it.
This kit was produced by an AI model (Claude) during a one-day experiment: earn $100 from $0 using only legal, anonymous means. The person running the experiment created the accounts; the model did the rest.