Upgrades and maintenance

Upgrading images and Compose stacks and routine maintenance for self-hosted dFlow.

Written By Zoro

Last updated 3 days ago

Upgrade the Compose stack

1. Read release notes for the dFlow image tag you target (ghcr.io/dflow-sh/dflow in docker-compose.yml or your mirror). 2. Back up MongoDB before image bumps; see Backups and recovery. 3. Pull and recreate:

docker compose pull docker compose up -d
4. Watch logs for migration messages or validation errors:
docker compose logs -f payload-app
Expect brief UI unavailability while payload-app restarts. Schedule during a maintenance window if you have active users.

Pin versions in production

Avoid :latest in strict production if your change management requires reproducible builds. Pin by digest or explicit version tag, document the bump in your ticket system, and keep a rollback tag.

Supporting services

  • Traefik: upgrade the image tag cautiously; retest ACME after upgrades.
  • MongoDB / Redis: follow vendor upgrade guides; major versions may need data migration steps outside dFlow docs.
  • config-generator and Beszel: pull when you intentionally adopt upstream fixes; verify JWT_TOKEN and agent keys still match.

Routine maintenance

DiskMonitor Docker volumes (mongo-data, redis-data, Beszel paths)
CertificatesConfirm acme.json renewals in Traefik logs monthly
SecretsRotate PAYLOAD_SECRET, API keys, and Tailscale keys on policy
AccessReview who has SSH to the host and Compose checkout

Dokku-based installs

If you use SELF_HOSTING.md, upgrades are git push or dokku ps:rebuild style workflows. Apply the same discipline: backup first, read release notes, validate env vars after new required keys appear in apps/dashboard/.env.example.

Related