This Docker image contains a simple script and a cron job to automate backups to Backblaze B2 (or other S3-compatible storage solutions). For example, to periodically backup directories on a VPS.
The container needs to be able to mount a volume that is as least as high as the most common path ancestor amongst your target backup directories. For example, all of my directories to backup are contained inside
~/myusername and so I use that as the volume mount below.
Building the image
Once the repo has been cloned locally, simply run
docker build -t backup . to build the image.
Running the image container
Pass the required environment variables to the container to run it. For example:
docker run -d --restart always \ -v "/home/myusername:/backup" \ -e "BUCKET=<B2 BUCKET NAME>" \ -e "ENDPOINT=https://s3.eu-central-003.backblazeb2.com" \ -e "AWS_ACCESS_KEY_ID=<B2 keyID>" \ -e "AWS_SECRET_ACCESS_KEY=<B2 applicationKey>" \ -e "BACKUP_DIRS=folder1 folder2 folder3" \ backup:latest
Please see this blog post for more information.