Home
Softono

Docker Backup To S3

Open source MIT Shell
134
Stars
103
Forks
6
Issues
6
Watchers
2 years
Last Commit

 About Docker Backup To S3

Docker container that periodically backups files to Amazon S3 using s3cmd and cron

Platforms

Web Self-hosted Docker

Languages

Shell

Need Help Installing Docker Backup To S3?

We provide expert installation service for this software. Our team will install, configure, and secure Docker Backup To S3 on your server. plans start at just $30.

Docker Backup To S3

View on GitHub

istepanov/backup-to-s3

Docker Stars Docker Pulls Docker Build Layers

Docker container that periodically backups files to Amazon S3 using s3cmd sync and cron.

Usage

docker run -d [OPTIONS] istepanov/backup-to-s3

Parameters:

  • -e ACCESS_KEY=<AWS_KEY>: Your AWS key.
  • -e SECRET_KEY=<AWS_SECRET>: Your AWS secret.
  • -e S3_PATH=s3://<BUCKET_NAME>/<PATH>/: S3 Bucket name and path. Should end with trailing slash.
  • -v /path/to/backup:/data:ro: mount target local folder to container's data folder. Content of this folder will be synced with S3 bucket.

Optional parameters:

  • -e PARAMS="--dry-run": parameters to pass to the sync command (full list here).
  • -e DATA_PATH=/data/: container's data folder. Default is /data/. Should end with trailing slash.
  • -e 'CRON_SCHEDULE=0 1 * * *': specifies when cron job starts (details). Default is 0 1 * * * (runs every day at 1:00 am).
  • no-cron: run container once and exit (no cron scheduling).

Examples:

Run upload to S3 everyday at 12:00pm:

docker run -d \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -e 'CRON_SCHEDULE=0 12 * * *' \
    -v /home/user/data:/data:ro \
    istepanov/backup-to-s3

Run once then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -v /home/user/data:/data:ro \
    istepanov/backup-to-s3 no-cron

Run once to get from S3 then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    -v /home/user/data:/data:rw \
    istepanov/backup-to-s3 get

Run once to delete from s3 then delete the container:

docker run --rm \
    -e ACCESS_KEY=myawskey \
    -e SECRET_KEY=myawssecret \
    -e S3_PATH=s3://my-bucket/backup/ \
    istepanov/backup-to-s3 delete

Security considerations: on restore, this opens up permissions on the restored files widely.