A Docker container that periodically backs up files, via rclone
, from one remote to another (e.g., from OneDrive to NextCloud, or to local).
docker build -t backup-cloud .
docker run \
-v "$HOME/.config/rclone/rclone.conf:/config/rclone.conf:ro" \
-v "$HOME/.config/backup-cloud/jobs.json:/config/jobs.json:ro" \
-e BACKUP_SCHEDULE="0 3 * * *" \
-e TZ="Europe/Bucharest" \
--name backup-cloud \
ghcr.io/alexan
67A7
dru/backup-cloud
Or via docker-compose.yml
:
services:
backup-cloud:
image: ghcr.io/alexandru/backup-cloud
container_name: backup-cloud
environment:
BACKUP_SCHEDULE: "0 3 * * *"
TZ: "Europe/Bucharest"
volumes:
- "$HOME/.config/rclone/rclone.conf:/config/rclone.conf:ro"
- "$HOME/.config/backup-cloud/jobs.json:/config/jobs.json:ro"
Note: The
BACKUP_SCHEDULE
environment variable sets the global cron schedule for all jobs in jobs.json. To run immediately, setBACKUP_SCHEDULE=now
.
Mount the jobs.json
file in the /config
directory:
[
{
"source": "onedrive:",
"destination": "cloud:OneDrive",
"sync_params": "--delete-excluded -c --track-renames --onedrive-hash-type sha1",
"backup_dir": "cloud:Backups/OneDrive"
},
{
"source": "onedrive-server:",
"destination": "cloud:Server Backups",
"sync_params": "--delete-excluded -c --track-renames --onedrive-hash-type sha1",
"backup_dir": "cloud:Backups/Server Backups"
}
]