@@ -24,7 +24,7 @@ A comprehensive PostgreSQL near real-time backup and recovery solution based on
2424# Pull the latest image
2525docker pull ghcr.io/whispin/postgres_nrt_backup:latest
2626
27- # Run backup container
27+ # Method 1: Using RCLONE_CONF_BASE64 environment variable
2828docker run -d \
2929 --name postgres-backup \
3030 -e POSTGRES_USER=myuser \
@@ -36,11 +36,25 @@ docker run -d \
3636 -v /path/to/postgres/data:/var/lib/postgresql/data:ro \
3737 -v /path/to/backup:/backup/local \
3838 ghcr.io/whispin/postgres_nrt_backup:latest
39+
40+ # Method 2: Mounting rclone.conf file
41+ docker run -d \
42+ --name postgres-backup \
43+ -e POSTGRES_USER=myuser \
44+ -e POSTGRES_PASSWORD=mypass \
45+ -e POSTGRES_DB=mydb \
46+ -e PGBACKREST_STANZA=main \
47+ -e WAL_GROWTH_THRESHOLD=" 100MB" \
48+ -v /path/to/postgres/data:/var/lib/postgresql/data:ro \
49+ -v /path/to/backup:/backup/local \
50+ -v /path/to/rclone.conf:/root/.config/rclone/rclone.conf:ro \
51+ ghcr.io/whispin/postgres_nrt_backup:latest
3952```
4053
4154### Recovery Mode
4255
4356``` bash
57+ # Method 1: Using RCLONE_CONF_BASE64 environment variable
4458# Recover to latest backup
4559docker run -d \
4660 --name postgres-recovery \
@@ -51,12 +65,16 @@ docker run -d \
5165 -e RECOVERY_MODE=" true" \
5266 ghcr.io/whispin/postgres_nrt_backup:latest
5367
68+ # Method 2: Mounting rclone.conf file
5469# Point-in-time recovery
5570docker run -d \
5671 --name postgres-recovery \
72+ -e POSTGRES_USER=myuser \
73+ -e POSTGRES_PASSWORD=mypass \
74+ -e POSTGRES_DB=mydb \
5775 -e RECOVERY_MODE=" true" \
5876 -e RECOVERY_TARGET_TIME=" 2025-07-10 14:30:00" \
59- # ... other environment variables
77+ -v /path/to/rclone.conf:/root/.config/rclone/rclone.conf:ro \
6078 ghcr.io/whispin/postgres_nrt_backup:latest
6179```
6280
@@ -93,7 +111,7 @@ docker-compose -f docker-compose.ghcr.yml up -d
93111| ` PGBACKREST_STANZA ` | ` main ` | pgBackRest stanza name |
94112| ` BACKUP_RETENTION_DAYS ` | ` 3 ` | Backup retention period in days |
95113| ` BASE_BACKUP_SCHEDULE ` | ` "0 3 * * *" ` | Full backup schedule (cron format) |
96- | ` RCLONE_CONF_BASE64 ` | - | Base64 encoded rclone configuration |
114+ | ` RCLONE_CONF_BASE64 ` | - | Base64 encoded rclone configuration (optional if file mounted) |
97115| ` RCLONE_REMOTE_PATH ` | ` "postgres-backups" ` | Remote storage path |
98116| ` RECOVERY_MODE ` | ` "false" ` | Enable recovery mode |
99117| ` WAL_GROWTH_THRESHOLD ` | ` "100MB" ` | WAL growth threshold for auto backups |
@@ -111,14 +129,31 @@ docker-compose -f docker-compose.ghcr.yml up -d
111129| ` RECOVERY_TARGET_INCLUSIVE ` | ` "true" ` | Include recovery target |
112130| ` RECOVERY_TARGET_ACTION ` | ` "promote" ` | Action after recovery |
113131
132+ ### rclone Configuration (Choose One Method)
133+
134+ #### Method 1: Environment Variable
135+ ``` bash
136+ # Encode your rclone.conf to base64
137+ RCLONE_CONF_BASE64=$( cat rclone.conf | base64 -w 0)
138+
139+ # Use in docker run
140+ docker run -e RCLONE_CONF_BASE64=" $RCLONE_CONF_BASE64 " ...
141+ ```
142+
143+ #### Method 2: File Mount
144+ ``` bash
145+ # Mount rclone.conf directly
146+ docker run -v /path/to/rclone.conf:/root/.config/rclone/rclone.conf:ro ...
147+ ```
148+
114149### Volume Mounts
115150
116151| Path | Description | Permission |
117152| ------| -------------| ------------|
118153| ` /var/lib/postgresql/data ` | PostgreSQL data directory | Read-only |
119154| ` /backup/local ` | Local backup storage | Read-write |
120155| ` /backup/logs ` | Backup logs | Read-write |
121- | ` /root/.config/rclone/rclone.conf ` | rclone configuration file | Read-only |
156+ | ` /root/.config/rclone/rclone.conf ` | rclone configuration file (optional) | Read-only |
122157
123158## 🔧 Manual Operations
124159
@@ -246,6 +281,7 @@ The project uses GitHub Actions for automated building and publishing:
246281## 📚 Documentation
247282
248283- [ Quick Start Guide] ( QUICK_START_EN.md ) - Get started in 5 minutes
284+ - [ rclone Configuration Guide] ( RCLONE_CONFIGURATION_GUIDE.md ) - Two methods to configure rclone
249285- [ Manual Backup Guide] ( MANUAL_BACKUP_GUIDE.md )
250286- [ WAL Monitor Guide] ( WAL_MONITOR_GUIDE.md )
251287- [ Recovery Guide] ( RECOVERY_GUIDE.md )
0 commit comments