Skip to content

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

Notifications You must be signed in to change notification settings

Drivetech/mongodump-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mongodump-s3

dockeri.co

Build Status

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

Use

Periodic backup

Run every day at 2 am

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=0 2 * * *"
  lgatica/mongodump-s3

Run every day at 2 am with full mongodb

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=0 2 * * *"
  -e "MONGO_COMPLETE=true"
  lgatica/mongodump-s3

Run every day at 2 am with full mongodb and keep last 5 backups

docker run -d --name mongodump \
  -v /tmp/backup:/backup
  -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=0 2 * * *"
  -e "MONGO_COMPLETE=true"
  -e "MAX_BACKUPS=5"
  lgatica/mongodump-s3

Inmediatic backup

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"
  lgatica/mongodump-s3

IAM Policity

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

License

MIT

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published