A tool that allows you to dump, archive, encrypt and upload a MongoDB NoSQL database to any S3 compliant bucket with the ease of a couple of environment variables. You can deploy it on Docker (either standalone or Docker Compose), or just run it directly!
When it comes to databases, I never really trust them. Backups are always necessary but when we're speaking about storing irreplaceable and confidential data, I feel like they're extra relevant. This was the mindset behind mongodb-s3-backupper: to help me securely and effortlessly archive MongoDB databases.
The stack is extremely simple, since not much is required for what we're trying to achieve:
Yes, there is docker support. The Dockerfile
should be fully buildable and the docker-compose.yml
file should work with a valid .env
. More on that later.
Variable | Value |
---|---|
MONGODUMP_S3_ENDPOINT | URL of the S3 endpoint |
MONGODUMP_S3_BUCKET | Target S3 bucket you want to use |
MONGODUMP_S3_KEY_PREFIX | S3 prefix/directory under which the archive will be uploaded |
MONGODUMP_S3_ACCESS_KEY | S3 access key (used for authorization) |
MONGODUMP_S3_SECRET_KEY | S3 secret key (used for authorization) |
MONGODUMP_GPG | Complete path of the target GPG public key |
MONGODUMP_URI | The MongoDB URI of the database in question |
MONGODUMP_SLEEP | Every how long should the archiving occur? (s,m,h,d) |
Just keep the code clean and don't go overboard with this. It's supposed to be simple.
This project is licensed under GPLv3 (see LICENSE) and is thus free and open source software.