kerjago / s3-scheduled-backup

A Zipping S3 Backup Scheduler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

S3 Scheduled Docker Volumes Backup

Application to regularly backup your docker volumes to S3 storage. This application is till hardcoded to backup everyday on midnight. There's 2 modes to run this application. Please set up the environment variables using variables below:

# Application Config
# 2 Modes: "docker" or "local"
MODE=

# Backup Service Config
# If in "docker" mode, PATH_BACKUP will be ignored
MAXIMUM_BACKUP_WINDOW=
PATH_BACKUP=

# S3 Config
S3_ENDPOINT=
S3_BUCKET_NAME=
S3_ACCESS_KEY=
S3_SECRET_KEY=
S3_USE_SSL=

# CRON JOB use this website https://crontab.guru/#*/1_*_*_*_*
CRON_SCHEDULE=

# Exclude Folders (seperated with ",")
EXCLUDE_FOLDERS=hell-world,yaps,example-excluded-folders

This application will bind to your /var/lib/docker/volumes and will zips, and upload every child directory from that path to S3 storage.

To run in docker mode:

docker run -d -it \
--name s3-schedule-backup \
--mount type=bind,source=/var/lib/docker/volumes,target=/dockervol,readonly \
-e MODE=docker \
-e MAXIMUM_BACKUP_WINDOW=0 \
-e S3_ENDPOINT=your.s3endpoint.com \
-e S3_BUCKET_NAME=bucket-name \
-e S3_ACCESS_KEY=AAABBBCCC \
-e S3_SECRET_KEY=AAABBBCCC \
-e S3_USE_SSL=true \
kaenova/s3-schedule-backup:latest

NOTE: This application only tested on Ubuntu >20.04 system.

About

A Zipping S3 Backup Scheduler

License:MIT License


Languages

Language:Go 99.0%Language:Dockerfile 1.0%