DeployProviders
Provider, Bare metal
Deploy Olympus on your own hardware
For maximum control or homelab deployments: deploy Olympus on physical hardware you own.
Recommended hardware
| Use case | Hardware |
|---|---|
| Homelab / personal | Raspberry Pi 5 (4GB+), Intel NUC, used SFF desktop |
| Small org production | Refurbished 1U server (Dell R230, HP DL20) |
| Larger org | Modern 1U with NVMe, ECC RAM |
Olympus itself needs <2GB RAM. The rest is for Postgres + room to grow.
Setup
- Install Ubuntu Server 22.04 (or your preferred Linux).
- Configure static IP / DHCP reservation.
- Set up SSH with key auth, disable password auth.
- Install Podman:
apt install podman podman-compose. - Configure firewall:
ufw allow 22/tcp from <admin-ip>,ufw allow 80/443/tcp, deny rest. - Point public DNS at your home WAN IP, or use Cloudflare Tunnel for tunneling.
Cloudflare Tunnel (no port forwarding)
If you don't want to expose ports on your home router:
# On the bare-metal host
cloudflared tunnel create olympus
cloudflared tunnel route dns olympus ciam.your-domain.com
cloudflared tunnel route dns olympus iam.your-domain.com
cloudflared tunnel run olympusCloudflare routes traffic through their network to your host via an outbound-only tunnel. No port forwarding needed.
Caddy still runs locally and handles TLS internally; Cloudflare terminates the public TLS.
ARM (Raspberry Pi)
Olympus images are multi-arch. A Pi 5 with 8GB RAM and a fast NVMe HAT runs Olympus for ~50 MAU comfortably.
Verify Pi-specific tooling (Podman works on Raspberry Pi OS / Ubuntu Server for ARM).
Power and uptime
- Uninterruptible power supply (UPS), even a small consumer model.
- Document your reboot/recovery procedure.
- Monitor power events (UPS notifications) → your alerting.
Backups off-site
Critical for bare-metal. The host can fail; off-site backups can't:
# Daily off-site backup
podman exec olympus-postgres pg_dumpall | gzip | rclone rcat b2:olympus-backups/$(date +%Y%m%d).sql.gzSee Operate, Backups (Postgres).
Where next
- Deploy, Provider, Direct SSH
- Operate, Backups (Postgres)
- Cookbook, Single VPS deployment, many of the same principles apply.