Backup Umbrel Using a Custom Portainer and Duplicati
Disclaimer
I am a sysadmin by profession but have limited Linux experience, and I don’t have in-depth knowledge about Umbrel’s folder structure. This guide uses a third-party Umbrel App Store and Portainer Catalog—both are external resources that may change over time and are beyond my control.
Introduction
This guide provides a solution for setting up a backup system for your Umbrel node using Duplicati, prior to its official availability in the Umbrel App Store. I decided to stick with this method because it works reliably for me. This approach does not require deep Linux knowledge, as it avoids using the CLI or directly manipulating the filesystem.
Note: The official Portainer app from the Umbrel App Store is restricted and doesn’t have full access to the local system. Therefore, we’ll use a custom Portainer version from a third-party App Store.
Let’s get started!
Step 1: Add the Big Bear Umbrel Community App Store
- Add the App Store
- Open your Umbrel dashboard and navigate to the App Store section.
- Click on “Add a Custom App Store” and enter the following URL:
https://github.com/bigbeartechworld/big-bear-umbrel.git
- Open the Big Bear App Store
- After adding, the Big Bear App Store should appear in your App Store list.
- Install Custom Portainer
- Locate Portainer in the Big Bear App Store and install it.
- Note: This version has a different icon from the official Umbrel App Store version (in my case, it’s the light blue icon on the left).
Step 2: Set Up and Configure Portainer
- Open Portainer
- Launch the custom Portainer app
- Connect to Local Docker Instance
- In Portainer, connect to the “local” Docker instance.
- Warning: You will have access to all containers that Umbrel runs in the background. Be careful not to modify or delete any of these critical containers.
- Add Custom Portainer Catalog
- Navigate to Settings in Portainer.
- Under “App Templates,” add the following catalog URL:
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
Step 3: Deploy Duplicati Container
- Select Duplicati Template
- Go to App Templates in Portainer and select Duplicati from the list.
- Configure Duplicati Container
- Name: Add a custom prefix to the container name, such as “custom-duplicati”.
- PUID: Set the PUID to
0
(root user).Note: Running the container as the root user ensures access to all directories, but it might be a security risk.
- Advanced Options: Click on “Show advanced options.”
- Config mountpoint: Set to
auto
. - Source mountpoint:
- Type: Bind
- Host path:
/home/umbrel
- Ensure “Writable” is enabled if you plan to restore backups.
- Config mountpoint: Set to
- Deploy the Container
- Click “Deploy the Container” to start the Duplicati instance.
Step 4: Connect to Duplicati and configure Backupjob
-
Access Duplicati
- Duplicati runs on port
8200
by default. Open it in your browser:http://umbrel.local:8200
- Duplicati runs on port
-
Initial Setup
- Set up a password for Duplicati if desired.
- Click “Add backup” to create a new backup job.
-
Configure Backup Job
- General Tab: Encryption (Optional) Encrypt your backup with a password.
- Destination: Choose your preferred backup destination (e.g., Microsoft OneDrive v2).
- Source Data: Select the data you want to back up.
- The directory
/home/umbrel
is mounted in the source folder. - Expand the source folder and include/exclude the data you want to back up.
- Recommendation: Exclude directories like
bitcoin
,mempool
, andelectrs
as they contain large files that can usually be redownloaded.
- The directory
- Backup Warnings
- In my setup, the only warning was the inability to back up some files from the PostgreSQL database used by BTCPayServer. To resolve this, you may need to stop the BTCPayServer container before running the backup.
Please send my questions and feedback if anything is unclear
Greetings
Thomas