Backups & Migration

Protect your data with regular backups and learn how to migrate between servers. A solid backup strategy ensures you never lose important data.

While Dublyo makes it easy to deploy and manage apps, your data is your responsibility. Regular backups protect you against hardware failures, accidental deletions, and corrupted updates. This guide covers everything you need to know about backing up your apps and migrating between servers.

Important: Dublyo does not automatically back up your application data. It is your responsibility to set up and maintain a backup strategy for your deployments.

Why Back Up?

Data loss can happen for many reasons, and it's usually unexpected. Here are the most common scenarios where backups save the day:

!

Server Failures

Hardware can fail without warning. Even with cloud providers like Hetzner, disk failures and outages are rare but possible. A backup means you can recover on a new server in minutes.

!

Data Corruption

A bad update, a buggy plugin, or a misconfigured migration can corrupt your database. Without a backup, recovering from corruption can be impossible.

!

Migration Needs

You might want to move to a bigger server, switch regions, or consolidate apps. Backups make migration straightforward — export from the old server, import to the new one.

!

Accidental Deletion

Mistakes happen. Whether it's a dropped database table or a deleted container volume, backups let you undo the damage quickly.

Tip: The question isn't whether you'll need a backup — it's when. Set up your backup strategy before you need it, not after.

Backup Methods

There are several ways to back up your applications on Dublyo. Choose the method that best fits your needs, or combine multiple approaches for extra safety.

1. Portainer Volume Export

The most comprehensive approach. Portainer lets you export entire container volumes, which include all application data, configuration files, and databases stored within the container.

1

Open Portainer

Access Portainer from your server's management panel in the Dublyo dashboard.

2

Navigate to Volumes

Go to Volumes in the sidebar to see all data volumes for your containers.

3

Export the Volume

Select the volume you want to back up and use the export function to download a tar archive of the data.

2. Application-Specific Tools

Many applications have built-in backup and export tools that create portable, restorable backups. These are often the most reliable option:

  • PostgreSQL — Use pg_dump to export databases. Run it from within the container via Portainer's console.
  • WordPress — Use wp-cli or a backup plugin like UpdraftPlus to export your site, database, and media files.
  • n8n — Use the built-in export feature to download all workflows and credentials as JSON files.
  • Ghost — Use the admin panel's Labs section to export all content as a JSON file.

3. Manual File Download via SSH

For advanced users, you can SSH into your server and manually copy files using scp or rsync. This gives you full control over what gets backed up and where it's stored.

scp -r root@your-server-ip:/var/lib/docker/volumes/app_data ./backup/
Tip: For critical databases, use application-specific tools like pg_dump. They produce consistent, restorable backups even while the database is running.

Backup Schedule

A good backup schedule balances protection against data loss with the effort required to maintain backups. Here's a recommended schedule based on data type:

Data TypeFrequencyReason
DatabasesDailyDatabases change frequently and are the hardest to recreate from scratch
Application FilesWeeklyConfiguration and uploaded files change less often but are still important
Before Major ChangesAlwaysBefore server upgrades, app updates, or any significant configuration changes

Backup Retention

Don't just keep the latest backup — maintain a rotation so you can go back further if needed:

  • Keep 7 daily backups — so you can recover from issues discovered up to a week later
  • Keep 4 weekly backups — for monthly coverage
  • Store backups off-server — download them to your local machine or upload to cloud storage (S3, Google Drive, etc.)
Warning: Storing backups only on the same server defeats the purpose. If the server fails, you lose both the data and the backup. Always store at least one copy off-server.

Server Migration

Migrating your apps to a new server is straightforward when you have backups. Follow these steps to move everything with minimal downtime:

1

Back Up All Apps on Source Server

Create fresh backups of every app on your current server using the methods described above. Make sure to include databases, configuration files, and uploaded media.

2

Create a New Server

Provision a new server from the Dublyo dashboard. Choose the region and size that fits your needs — this is a great opportunity to upgrade if you've been running low on resources.

3

Deploy Same Templates on New Server

Deploy the same applications on your new server using the Dublyo template library or GitHub deployments. This creates fresh containers with the right configuration.

4

Restore Backups to New Deployments

Import your backed-up data into the freshly deployed applications. Use the same tools you used to create the backups (e.g., pg_restore for PostgreSQL, import UI for n8n).

5

Update DNS if Using Custom Domains

If you have custom domains pointing to your old server, update the DNS A records to point to the new server's IP address. Allow time for DNS propagation (usually 15-60 minutes).

6

Delete Old Server

Once everything is verified on the new server, delete the old one from the Dublyo dashboard to stop billing. Keep your backups for a few extra days as a safety net.

Tip: Test your apps thoroughly on the new server before updating DNS or deleting the old one. Running both servers in parallel for a day or two gives you a safe fallback.

Restoring from Backup

When you need to restore from a backup, the process depends on the app and backup method you used. Here's the general workflow:

1

Deploy a Fresh Instance

Deploy a new instance of the application from the Dublyo template library. This gives you a clean container with the correct configuration and dependencies.

2

Import Backup Data

Use the app's import tools to restore your data. For databases, use pg_restore or mysql import. For apps like n8n, use the built-in import UI. For volume backups, restore via Portainer.

3

Verify Everything Works

After restoring, thoroughly test the application. Check that all data is present, user accounts work, and the app functions correctly. Don't skip this step.

App-Specific Restore Notes

  • PostgreSQL — Use pg_restore or psql < backup.sql to restore database dumps
  • WordPress — Import via UpdraftPlus or restore the database and wp-content directory manually
  • n8n — Import workflows via the UI or CLI, then update credentials as needed
  • Ghost — Import content JSON via the admin panel's Labs section
Tip: Each application has its own restore procedures and quirks. Check the individual template guides in the Dublyo docs or the app's official documentation for detailed restore instructions.

Need Help?

Can't find what you're looking for? Check the full documentation or reach out.