Backup
What to back up
Section titled “What to back up”Two Docker volumes hold all the user data Pipebase generates:
ipaas_ipaas-runtime-routes— deployed Camel YAML files (one per flow)ipaas_ipaas-designer-flows— designer’s flow definitions, layouts, params, runtime registry, OAuth client secrets, SSO config
Configuration lives in .env (regenerable) and the source code lives
in git (regenerable). Lose those volumes and you lose user data.
Manual backup (one-shot)
Section titled “Manual backup (one-shot)”ssh <host> 'TS=$(date +%Y%m%d-%H%M%S)mkdir -p /backup/pipebasedocker run --rm \ -v ipaas_ipaas-runtime-routes:/data:ro \ -v /backup/pipebase:/backup \ alpine tar czf /backup/runtime-routes-$TS.tar.gz -C /data .docker run --rm \ -v ipaas_ipaas-designer-flows:/data:ro \ -v /backup/pipebase:/backup \ alpine tar czf /backup/designer-flows-$TS.tar.gz -C /data .'Output: two .tar.gz files per backup run. Total size: typically a
few MB; depends on flow count.
Scheduled backup
Section titled “Scheduled backup”Drop this into /etc/cron.daily/pipebase-backup (mode 755):
#!/bin/bashset -euo pipefailTS=$(date +%Y%m%d-%H%M%S)DIR=/backup/pipebaseKEEP=14 # days
mkdir -p $DIRfor vol in ipaas_ipaas-runtime-routes ipaas_ipaas-designer-flows; do docker run --rm -v "$vol:/data:ro" -v "$DIR:/backup" alpine \ tar czf "/backup/$vol-$TS.tar.gz" -C /data .done
# Prune anything older than KEEP daysfind $DIR -type f -name '*.tar.gz' -mtime +$KEEP -deleteOff-site copy is your call (rsync, S3, Borg, restic). The local files are useless if the host dies.
Restore
Section titled “Restore”Stop the stack first so the runtime doesn’t load mid-restore:
docker compose downdocker run --rm \ -v ipaas_ipaas-runtime-routes:/data \ -v /backup/pipebase:/backup \ alpine sh -c 'cd /data && rm -rf ./* && tar xzf /backup/runtime-routes-<TS>.tar.gz'docker run --rm \ -v ipaas_ipaas-designer-flows:/data \ -v /backup/pipebase:/backup \ alpine sh -c 'cd /data && rm -rf ./* && tar xzf /backup/designer-flows-<TS>.tar.gz'docker compose up -dVerify: https://designer.<root>/api/flows should return your
restored flow list.
What’s NOT in the backup
Section titled “What’s NOT in the backup”- The deploy token (
PIPEBASE_DEPLOY_TOKEN) — lives in.env - The JWT secret — same
- TLS certs — Traefik regenerates them on demand
- Container image versions — pinned by
PIPEBASE_VERSIONin.env
If you lose .env, regenerate the secrets via ./scripts/init.sh,
then update Coolify’s env vars to match.