A usable backup of a self-hosted app is more than a copy of its container or image: it must capture the app’s persistent files, database, deployment configuration, and any external storage the service depends on. The reliable approach is to inventory those parts, back them up in a database-consistent way, keep copies separate from the live system, and verify the restore in an isolated environment before relying on it.
What to include in a self-hosted app backup
First identify where the app’s state actually lives. It may be split among a database, uploaded files, Docker volumes or bind mounts, configuration files, and external storage. Losing any one of these can leave a restored service incomplete or unable to start.
As an Amazon Associate I earn from qualifying purchases.
- Database: identify the engine and version, then use a backup method supported by that database.
- Persistent files: include uploads, user-generated content, and other directories the app writes to. Record Docker volumes and host bind mounts explicitly.
- Deployment configuration: save the Compose file or equivalent service definition, including the settings needed to recreate the deployment.
- Secrets and environment settings: preserve required environment files and credentials securely. For example, Supabase’s self-hosted Docker documentation says its secrets are held in
.envby default. - External dependencies: identify storage or other data services outside the app container and decide how their contents will be backed up.
Do not treat a container image as a data archive. Docker’s documentation explains that committing a container does not include the contents of attached volumes; those must be backed up separately. Docker describes volumes as “persistent data stores for containers, created and managed by Docker.”
Free tools Windows power users keep installed
One-click scans. No signup required.
Use the app’s own backup guidance
Make an inventory that records the app name and version, deployment method, data paths, database engine and version, mounts, configuration, secrets, and external storage. Then check the app’s official documentation for anything its backup process omits. The exact paths, volume names, compatibility requirements, and restore order vary by app and version, so there is no single command sequence that safely applies to every self-hosted service.
#1 Best Overall
- Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
WordPress illustrates why the inventory matters: its Advanced Administration Handbook treats the site files and MySQL or MariaDB database as separate parts of a typical full backup. A copy of the site directory alone does not preserve the database.
Choose a database backup method that fits the recovery goal
Use the database engine’s supported backup tools rather than assuming that copying a live database directory is safe. PostgreSQL’s current version 18 manual describes three fundamentally different approaches: SQL dumps, file-system-level backups, and continuous archiving. Each has different consistency requirements and restore characteristics.
Rank #2
- Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
| Method | What it is suited to | What to account for |
|---|---|---|
| Logical export, such as a SQL dump | Portable database exports and selective logical recovery | Restore using tools and procedures compatible with the database version and export format. |
| File-system-level backup | Physical recovery of database files | It has database-specific consistency requirements; a raw copy of a live data directory is not automatically a valid backup. |
| Continuous archiving | Recovering beyond a base backup toward a later target time | It requires the base backup and an unbroken sequence of required archived write-ahead log (WAL) files, plus the appropriate recovery configuration. |
The PostgreSQL documentation’s continuous-archiving recovery guidance cited here is for version 17; follow the documentation for the version you actually run. A base backup without the required WAL sequence cannot provide the intended point-in-time recovery. PostgreSQL ownership and permissions also matter when bringing a recovered database back into service.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Back up Docker persistence and deployment settings
List every volume and bind mount in the deployment. Docker documents backing up a volume by mounting it into a helper container and writing an archive to a host directory; for a restore, the archive can be extracted into a target volume. Follow Docker’s instructions for the relevant storage layout and ensure the archive captures a consistent state for the app.
Rank #3
- Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Keep the Compose file or equivalent container options with the backup set so the services can be recreated. Treat environment files and credentials as sensitive: restrict access and protect them in storage and transit. Supabase’s self-hosted Docker documentation also warns that its reset command deletes database and storage volumes, so understand destructive actions before running them.
Keep backup copies separate from the live app
A backup stored only on the same machine or storage system as the app may be lost in the same failure. Keep at least one copy elsewhere, and retain multiple copies when practical. The WordPress Advanced Administration Handbook recommends keeping at least three backups in different places and on different media; that is the handbook’s recommendation, not a guarantee that three copies suit every workload.
Rank #4
- Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
| Destination | What it can provide | What to plan for |
|---|---|---|
| External hard drive | A separate local destination for backup archives | Choose capacity based on the data and retention you need. A drive stores copies but does not create database exports, manage retention, or demonstrate that a restore works. A single drive by itself is not an off-site copy. |
| Remote object storage | Off-site separation; Docker’s volume documentation describes cloud object storage such as Amazon S3, and Supabase documents S3-compatible backends for its self-hosted storage service | Plan for a consistent export, retention, access controls, encryption, capacity, recurring cost, upload time, and restore bandwidth. Object storage is a destination, not a complete backup procedure. |
Restore in a controlled order, then verify the app
Restore procedures and ordering are app-specific. Use the app’s own restore documentation and the database engine’s documented tools. When possible, restore into a clean or isolated environment first so you can detect missing files, configuration, or database dependencies before directing normal traffic to it.
- Recreate the deployment: use the saved Compose file or equivalent settings and compatible app and database versions.
- Restore persistent files and volumes: put archives back into the correct target volumes or bind-mounted paths, following the app’s documented requirements.
- Restore the database: use the native restore process for its engine and the backup method used. For PostgreSQL point-in-time recovery, provide the base backup, the required continuous WAL sequence, and the recovery configuration.
- Reconnect dependencies: restore or reconnect external storage and provide the required protected configuration and secrets.
- Inspect before reopening access: confirm the service starts, expected data and user files are present, and the app can read and write its dependencies. For a recovered database, verify ownership and permissions as well as the data before allowing normal users back in.
WordPress provides one concrete example of app-specific ordering: its handbook recommends backing up the database first and restoring the files before importing the database. Treat that as WordPress guidance, not a universal sequence for other services.
Best Value
- [Upgraded Version] - This external hard drive features a mirrored logo stripe combined with a striped anti-slip design, and the rounded corners of the casing make it easier to grip. The stripes also have a heat dissipation function, ensuring stable and fast data transfer.
- 【Ultra-thin and quiet】 - The motherboard adopts JMicron 578 noise-free solution, giving you a quiet working environment. Lightweight and portable size designed to fit in your pocket for easy portability.
- 【Ultra-Fast Data Transfers】 - Pairing this external hard drive with JMicron 578 solution USB 3.0 and USB 2.0 interfaces enables blazing-fast data transfer. It boasts theoretical read speeds of up to 125MB/s and write speeds of up to 103MB/s.
- 【Plug and Play】 - With no software to install, just plug it in and the drive is ready to use.The hard disk chip is wrapped with an aluminum anti-interference layer to increase heat dissipation and protect data.
- 【What You Get】 - 1 x Portable Hard Drive, 1 x USB 3.0 Cable, 1 x User Manual, Gift-type shell packaging ,Three-year manufacturer's warranty and free technical support services.
Make restore testing part of the backup plan
A successful archive job proves only that an archive was produced; it does not prove that the service can be recovered. Schedule a restore drill in an isolated environment, follow the documented restore process, and check whether the app and its data work as expected. Record any missing dependencies or manual steps and update the backup set and procedure. Do not describe a backup as tested unless you have actually restored it.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




