Workshop repo for learning how to SSH into a VPS, install Docker, understand Docker Compose, and deploy services.
slideshow/- Slidev deck used during the workshopexamples/- Docker Compose stacks for practice
cd slideshow
bun install
bunx slidev --openTo build static files:
cd slideshow
bun run buildAll examples are in examples/<stack-name>/compose.yaml.
| Stack | Purpose | URL/Port |
|---|---|---|
stirling-pdf |
PDF tools app from workshop | http://<vps-ip>:8080 |
whoami |
Simple container/port check app | http://<vps-ip>:8081 |
it-tools |
Handy browser-based networking/dev tools | http://<vps-ip>:8082 |
uptime-kuma |
Basic service uptime monitoring | http://<vps-ip>:3001 |
linkding |
Self-hosted bookmark manager | http://<vps-ip>:9090 |
cd examples/<stack-name>
cp .env.example .env # only if this file exists
sudo docker compose up -d
sudo docker compose psStop a stack:
sudo docker compose down- Put one stack behind a reverse proxy (Caddy or Traefik).
- Add backups for each stack's data volume.
- Pin image tags to specific versions (avoid
latest). - Add health checks and restart policies where useful.