A simple Docker image to periodically backup directories on my server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Will Webberley 526faefcba added link to blog post 5 months ago
Dockerfile initial commit 5 months ago
README.md added link to blog post 5 months ago
backup.sh initial commit 5 months ago
entry.sh initial commit 5 months ago

README.md

Server backup

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

More information

Please see this blog post for more information.