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.

29 lines
1.1 KiB

1 year ago
# 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.
1 year ago
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](https://wilw.dev/blog/2021/05/18/b2-backups) for more information.