Publishing your project

Backups

Back up the database and uploads with Easy Backup, on a schedule or on demand.

On this page
MySQL backend
Easy Backup is available for projects with a relational database (MySQL). You enable it in the project configuration next to phpMyAdmin.

Easy Backup runs as a sidecar next to your backend: a NestJS API and a Next.js UI in the same Docker network as MySQL. Backups are created with mysqldump and tar inside the container — no Docker socket.

What is backed up

  • Database: gzip-compressed SQL
  • Uploads: tar.gz of the bind-mount ./backend-uploads/app/upload
  • Archives and metadata live on ./backend-backups (same idea as ./backend-mysql)

Access modes

Exactly one of the three modes:

  1. Internal127.0.0.1 / port-forward only (local or on the server).
  2. Public – custom domain or backup.<project>.<org>.ap-clients.com, with username and password.
  3. Platform – the web UI stays internal. The Application Platform calls only /api/platform/* with an API key. You manage list, restore, and schedule in the Customer Frontend under Backups.

Schedule

Default: daily at 04:00 (server timezone), keeping the last 14 daily backups. Both are overridable — in the UI, via the platform API, or via CLI:

easy-backup list
easy-backup create --database --uploads
easy-backup restore <id>
easy-backup schedule --cron "0 4 * * *" --retention 14

See also