Data sync and recovery
Database and files/ sync are separate from code transfer. The current directions are Staging or Production to Local, and Production to Staging. Sync does not run migrations.
Before syncing
Section titled “Before syncing”- Confirm the source and target shown in the app.
- Choose database and/or
files/explicitly; each has its own workflow. - Review the replacement impact and any displayed paths.
- Make sure the target snapshot can be stored in the shown app-data location and that sufficient disk space is available.
The target is backed up before replacement. Database sync reads the remote Symfony DATABASE_URL and requires PHP, installed Composer dependencies, and a MySQL-compatible CLI client on the server. File sync requires tar on the remote host.
Recovery behavior
Section titled “Recovery behavior”Recovery snapshots are stored under ContaoDock’s app-data folder. For database import failures, the app attempts to restore the saved target snapshot. File sync stages the incoming directory before replacement and retains a target snapshot; remote targets also keep the previous directory under .contaodock/sync-backups/.
Keep the app open until the operation reports completion. If a sync fails, read the full error and logs, check the snapshot path, and avoid repeating replacement until you know the target state.
Migrations are separate
Section titled “Migrations are separate”Sync never runs migrations implicitly. Contao migrations can be started separately on Local or Staging after a database snapshot. Destructive DROP changes are skipped by default. Production migrations are not part of the current manual migration action.