VPS Snaps
All guides

Application backups

Back up WordPress, WooCommerce, Drupal, Odoo, Moodle, Laravel, Nextcloud, GitLab, Keycloak, Grafana, Matomo, Discourse, Immich, Minecraft servers and more completely: the database, the files and the keys you cannot rebuild.

How to back up and restore a WordPress site on your own server

Back up a self-hosted WordPress site completely: the database with WP-CLI or mysqldump, and wp-content and wp-config.php with tar. Then restore it on the same or a new server, change the URL safely, verify it and schedule it.

10 min read

How to back up and restore a Laravel application

Back up what a Laravel app cannot rebuild: the database, user files in storage/app, and the .env file with APP_KEY. Restore it on a new server, verify it, and schedule it with cron or the Laravel scheduler.

9 min read

How to back up and restore a self-hosted Ghost site

Back up a self-hosted Ghost site completely: dump its MySQL database and archive the content folder and config.production.json, and know what ghost backup and the Admin export leave out. Then restore it on a new server, verify it and schedule it.

8 min read

How to back up and restore a Craft CMS site

Back up Craft CMS 5 with php craft db/backup and a file archive that keeps .env, project config and asset uploads, and protect CRAFT_SECURITY_KEY. Then restore it on a new server with db/restore and craft up, verify it and schedule it.

8 min read

How to back up and restore Nextcloud

Back up a Nextcloud server the way its admin manual describes: maintenance mode, the config, data, apps and theme folders, and a database dump. Then restore it on the same or a new server, resync clients, verify it and automate it.

9 min read

How to back up and restore Vaultwarden

Back up a Vaultwarden server safely: what is in the data folder, a consistent copy of db.sqlite3, encrypting the archive, restoring it, and testing a restore without putting a second vault online.

10 min read

How to back up and restore n8n

Back up a self-hosted n8n instance: the .n8n folder and its encryption key, a safe copy of the SQLite database or a pg_dump, CLI exports of workflows and credentials, and how to restore and test it.

12 min read

How to back up and restore Gitea or Forgejo

Back up Gitea or Forgejo with gitea dump or forgejo dump, add a native database dump, handle Docker installs and large repositories, and restore everything by hand on a new server.

9 min read

How to back up and restore Uptime Kuma

Back up Uptime Kuma 2 safely: what is in the data folder, stopping the container or copying kuma.db live with SQLite's backup API, MariaDB setups, restoring onto a new server and testing a restore without duplicate alerts.

8 min read

How to back up and restore a Drupal site

Back up a Drupal 10 or 11 site completely: the database with drush sql:dump, the public and private files with tar, and settings.php with its hash salt. Then restore it on a new server with Composer and Drush, verify it and schedule it.

10 min read

How to back up and restore a Magento 2 store

Back up a self-hosted Magento Open Source or Adobe Commerce store: the database with mysqldump, pub/media with tar, and app/etc/env.php with its encryption key. Then restore it on a new server, rebuild code and indexes, verify it and schedule it.

10 min read

How to back up and restore Immich

Back up a self-hosted Immich server: its PostgreSQL database and nightly dumps, which UPLOAD_LOCATION folders hold your originals, a restic script for large libraries, and restoring onto a fresh install.

10 min read

How to back up and restore a Mastodon server

Back up a self-hosted Mastodon server: a custom-format pg_dump, the secrets in .env.production, uploaded media without the remote cache, and Redis. Then restore onto a new machine and rebuild feeds with tootctl.

9 min read

How to back up a Minecraft server

Back up a Minecraft Java or Bedrock server without stopping it: what to copy, a consistent copy with save-off and save-all flush over RCON, a cron script with retention, Docker, restoring a world and fixing damaged chunks.

10 min read

How to back up and restore self-managed GitLab

Back up self-managed GitLab with gitlab-backup create, keep gitlab-secrets.json and gitlab.rb safe, schedule and prune backups, upload them to object storage, and restore onto the same version with the checks GitLab recommends.

10 min read

How to back up a WooCommerce store

Back up a WooCommerce store so no orders are lost: which tables and folders WooCommerce adds to a WordPress backup, hourly database dumps, restoring without losing new orders, and keeping staging copies from charging cards or emailing customers.

10 min read

How to back up and restore a Moodle site

Back up a whole Moodle site: the PostgreSQL or MySQL database, moodledata and the code with config.php. Then restore it on a new server, change the URL, verify it and schedule it, and see why course backups are not a site backup.

9 min read

How to back up self-hosted Plausible Analytics

Back up Plausible Community Edition: a pg_dump of its PostgreSQL database, a ClickHouse BACKUP of the event data, the secrets in .env, and how to restore, upgrade and test it on a new server.

11 min read

How to back up and restore Paperless-ngx

Back up Paperless-ngx with its own document_exporter, or with its volumes and a database dump: what to keep, the exporter's flags, scheduling, encryption, restoring with document_importer, and testing a restore.

10 min read

How to back up and restore a Discourse forum

Back up a self-hosted Discourse forum with its built-in scheduled backups, send them to S3, keep app.yml safe, and restore onto a new server with discourse restore, including the errors you are likely to hit.

9 min read

How to back up and restore Mattermost

Back up a self-hosted Mattermost server: dump its PostgreSQL database with pg_dump, copy the config and data folders, see what mmctl export leaves out, handle Docker installs, and restore onto a new server at the same version before upgrading.

10 min read

How to back up and restore a Joomla site

Back up a Joomla 5 or 6 site completely: the MySQL, MariaDB or PostgreSQL database, the site files with tar, and configuration.php with its secret. Then restore it on a new server, fix the paths, verify it and schedule it.

10 min read

How to back up and restore a PrestaShop store

Back up a PrestaShop 8 or 9 store completely: the MySQL database with mysqldump, the images, downloads, modules and themes with tar, and parameters.php with its cookie keys. Then restore it on a new server, change the domain, verify it and schedule it.

10 min read

How to move a WordPress site to a new host

Move a WordPress site to a new host in the right order: lower the DNS TTL, copy the files and database with WP-CLI, change URLs without breaking serialized data, set up HTTPS, test before DNS changes, and keep the old host until DNS settles.

11 min read

How to back up and restore Keycloak

Back up Keycloak by dumping its database and copying keycloak.conf, providers, themes and TLS files, learn what kc.sh export does and leaves out, and restore onto a new server at the same version.

9 min read

How to back up Grafana

Back up a self-hosted Grafana server: copy grafana.db safely while it runs, keep grafana.ini and its secret_key, provisioning files and plugins, export dashboards with the HTTP API, and restore onto a new server.

8 min read

How to back up and restore Odoo

Back up a self-hosted Odoo Community or Enterprise database completely: the PostgreSQL database, the filestore and odoo.conf. Use the database manager or pg_dump and tar, restore on a new server, verify every attachment and neutralize test copies.

10 min read

How to back up and restore Matomo

Back up self-hosted Matomo Analytics completely: the MySQL or MariaDB database with mysqldump, config.ini.php and its salt, plugins and misc/user. Then restore it on a new server, re-archive reports, and keep visitor data in backups within your retention policy.

8 min read