Coolify — Restore
What the backup covers
- Coolify database (services, env vars, domains) — via the pg dump in
/data/coolify/backups/ - Coolify config (SSH keys, proxy config, SSL certs,
.env) — via/data/coolify/ - Service data (admin accounts, files, database contents) — via Docker volumes in
/mnt/data/docker/volumes/
Coolify's built-in backup only covers its own database, not service data. Volumes must be backed up separately.
Backing up
Run from your local Mac:
rsync -aP --rsync-path="sudo rsync" -e ssh personal-services:/data/coolify/backups/ ~/Desktop/coolify-backup/
rsync -aP --rsync-path="sudo rsync" -e ssh personal-services:/mnt/data/docker/volumes/ ~/Desktop/docker-volumes-backup/
rsync -aP --rsync-path="sudo rsync" -e ssh personal-services:/data/coolify/ ~/Desktop/coolify-config-backup/
Stop Docker before backing up to avoid writes mid-transfer:
sudo docker stop $(sudo docker ps -q)
sudo systemctl stop docker docker.socket containerd
Restoring
1. Set up the new server
Follow the Coolify setup doc completely before restoring.
2. Upload backups to the new server
rsync -aP -e ssh ~/Desktop/coolify-backup/ personal-services:/tmp/coolify-restore/
rsync -aP -e ssh ~/Desktop/docker-volumes-backup/ personal-services:/tmp/volumes-restore/
rsync -aP -e ssh ~/Desktop/coolify-config-backup/ personal-services:/tmp/coolify-config-restore/
3. Stop Coolify
sudo docker stop $(sudo docker ps -q)
4. Restore config and volumes
sudo rsync -aP /tmp/coolify-config-restore/ /data/coolify/
sudo rsync -aP /tmp/volumes-restore/ /mnt/data/docker/volumes/
5. Add the old APP_KEY as APP_PREVIOUS_KEYS
grep APP_KEY /tmp/coolify-config-restore/source/.env
echo "APP_PREVIOUS_KEYS=<old_app_key>" | sudo tee -a /data/coolify/source/.env
6. Restart via the install script
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
7. Fix SSH access
Coolify connects to the server via SSH as root. Add its public key to authorized_keys:
sudo ssh-keygen -y -f /data/coolify/ssh/keys/<key_file> | sudo tee -a /root/.ssh/authorized_keys
The key file name is whatever is in /data/coolify/ssh/keys/ (no .pub extension).
Then in Coolify: Servers → localhost → Validate & configure.
8. Redeploy services
In the Coolify UI, redeploy each service. The volumes with all data are already in place — they will reconnect automatically.