Skip to content

Commit 7c70380

Browse files
chore: add backup and restore guide
1 parent fb79d63 commit 7c70380

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ The setup wizard provides options for users to configure the package. These valu
3636
- `PUSHGATEWAY_USERNAME`: A username for the push gateway from above.
3737
- `PUSHGATEWAY_PASSWORD`: A password for the push gateway from above.
3838

39+
### Backup and Restore
40+
41+
For information on backing up and restoring your Shutter API package data, see the [Backup and Restore Guide](backup_restore.md).
42+
3943
### Developer notes
4044

4145
Building the package requires docker and a vpn connection to a dappnode. It can be run with:

backup_and_restore.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Backup and Restore Guide
2+
3+
This guide explains how to backup and restore your Shutter API DAppNode package data.
4+
5+
## Backup Creation
6+
7+
DAppNode provides a built-in backup functionality through the DAppNode UI. Users can create backup archives directly from the interface, which generates a compressed tar file that should be downloaded for safekeeping.
8+
9+
### What Gets Backed Up
10+
11+
The package automatically backs up the following critical data:
12+
13+
- **Keyper Configuration** (`/keyper/config`): Contains your Shutter Keyper settings and configuration files
14+
- **Chain Configuration** (`/chain/config`): Contains your Shutter Chain node configuration
15+
- **Database Data** (`/var/lib/postgresql/data`): Contains the PostgreSQL database with your Keyper's state
16+
- **Metrics Configuration** (`/config/user`): Contains your metrics service configuration
17+
18+
### Creating a Backup
19+
20+
1. Navigate to your DAppNode UI
21+
2. Go to the Shutter API package
22+
3. Click on the "Backup" option
23+
4. Wait for the backup process to complete
24+
5. Download the generated backup file to a secure location
25+
26+
## Restore Process
27+
28+
The restore process requires a two-step approach:
29+
30+
### Step 1: Package Installation
31+
The DAppNode package must be installed first through the DAppNode UI. This creates a fresh installation with default configuration.
32+
33+
### Step 2: Backup Restoration
34+
Once installation is complete, the previously downloaded backup file can be restored to the newly installed package. This will restore all your previous data.
35+
36+
## Environment Variables
37+
38+
After restoration, the environment variables in the restored deployment will match those configured during the package installation of restore process. This includes:
39+
40+
- `KEYPER_NAME`: Your unique keyper identifier
41+
- `SHUTTER_API_NODE_PRIVATEKEY`: Your Ethereum private key
42+
- `ETHEREUM_WS`: Your Ethereum WebSocket RPC endpoint
43+
- `SHUTTER_PUSH_METRICS_ENABLED`: Metrics push configuration
44+
- `PUSHGATEWAY_URL`: Metrics push gateway URL
45+
- `PUSHGATEWAY_USERNAME`: Push gateway authentication
46+
- `PUSHGATEWAY_PASSWORD`: Push gateway authentication
47+
48+
## Security Considerations
49+
50+
⚠️ **Important Security Notes:**
51+
52+
- The backup archive contains previous configuration files that will include sensitive data
53+
- Your private keys and configuration are stored in the backup
54+
- Store backup files in a secure, encrypted location
55+
- Never share backup files with untrusted parties
56+
57+
## Troubleshooting
58+
59+
If you encounter issues during backup or restore:
60+
61+
1. Ensure you have sufficient disk space for backup creation
62+
2. Verify that all services are running before creating a backup
63+
3. Check that the backup file was downloaded completely
64+
4. Ensure the package is fully installed before attempting restore
65+
5. Contact DAppNode support if restore fails

0 commit comments

Comments
 (0)