Sign inSign up

cblims/mongodump-s3

By cblims

•Updated almost 8 years ago

Docker Image with Alpine Linux, mongodump and awscli for backup mongo database to s3

Image
0

1.6K

cblims/mongodump-s3 repository overview

⁠Use

This image is based on the works of Leonardo Gatica (lgatica/mongodump-s3). The image has mongodb tools for version 4, and is modified to work as an idle sidecar in Kubernetes along with Heptio Ark.

⁠Idle pod

Idle container, do backup on request

docker run -d --name mongodump
-e "MONGO_URI=mongodb://user:pass@host:port/dbname" -e "AWS_ACCESS_KEY_ID=your_aws_access_key" -e "AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key" -e "AWS_DEFAULT_REGION=us-west-1" -e "S3_BUCKET=your_aws_bucket" -e "BACKUP_CRON_SCHEDULE="idle" -e "MONGO_COMPLETE=true" -e "MAX_BACKUPS=5" cblims/mongodump-s3

⁠Heptio Ark annotations

Hook before Ark is doing snapshot backup:

pre.hook.backup.ark.heptio.com/container: mongodump-s3 pre.hook.backup.ark.heptio.com/command: backup

⁠IAM Policy

You need to add a user with the following policies. Be sure to change your_bucket by the correct.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1412062044000", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your_bucket/*" ] }, { "Sid": "Stmt1412062128000", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your_bucket" ] } ] }

⁠Extra environmnet

S3_PATH - Default value is mongodb. Example s3://your_bucket/mongodb MONGO_COMPLETE - Default not set. If set doing backup full mongodb MAX_BACKUPS - Default not set. If set doing it keeps the last n backups in /backup BACKUP_CRON_SCHEDULE - Cron definition for scheduled backup, or idle for idle container

⁠License

MIT

Tag summary

Content type

Image

Digest

Size

68.2 MB

Last updated

almost 8 years ago

docker pull cblims/mongodump-s3