{ "captainVersion": "2", "documentation": "https://github.com/halvves/mongodb-backup-s3", "displayName": "MongoDB Backup Amazon S3", "description": "Runs mongodump to backup data using cronjob to an Amazon S3 bucket", "dockerCompose": { "services": { "$$cap_appname": { "environment": { "AWS_ACCESS_KEY_ID": "$$cap_aws_access_key_id", "AWS_SECRET_ACCESS_KEY": "$$cap_aws_secret_access_key", "BUCKET": "$$cap_bucket", "BACKUP_FOLDER": "$$cap_backup_folder", "MONGODB_HOST": "$$cap_mongodb_host", "MONGODB_PORT": "$$cap_mongodb_port", "MONGODB_USER": "$$cap_mongodb_user", "MONGODB_PASS": "$$cap_mongodb_pass", "MONGODB_DB": "$$cap_mongodb_db", "EXTRA_OPTS": "$$cap_extra_opts", "CRON_TIME": "$$cap_cron_time", "TZ": "$$cap_tz", "CRON_TZ": "$$cap_tz", "INIT_BACKUP": "$$cap_init_backup", "INIT_RESTORE": "$$cap_init_restore", "DISABLE_CRON": "$$cap_disable_cron" }, "image": "halvves/mongodb-backup-s3@sha256:e709db5e0fe5d44873ac5a385af214e951f2a0366a7c02b515ebf7c983658b0c", "restart": "always" } }, "version": "2" }, "instructions": { "start": "Runs mongodump to backup data using cronjob to an s3 bucket", "end": "MongoDB Backup S3 is ready" }, "variables": [ { "description": "Your aws access key id (for your s3 bucket)", "id": "$$cap_aws_access_key_id", "label": "AWS ACCESS KEY ID", "validRegex": "/^.+$/" }, { "description": "Your aws secret access key (for your s3 bucket)", "id": "$$cap_aws_secret_access_key", "label": "AWS SECRET ACCESS KEY", "validRegex": "/^.+$/" }, { "description": "Your s3 bucket.", "id": "$$cap_bucket", "label": "BUCKET", "validRegex": "/^.+$/" }, { "description": "Name of folder or path to put backups (eg myapp/db_backups/)", "id": "$$cap_backup_folder", "defaultValue": "mongo_dumps/", "label": "BACKUP_FOLDER" }, { "description": "The host/ip of your mongodb database. For CapRover hosted database, use srv-captain--your-mongodb-name", "id": "$$cap_mongodb_host", "label": "MONGODB HOST", "validRegex": "/^.+$/" }, { "description": "The port number of your mongodb database", "id": "$$cap_mongodb_port", "label": "MONGODB PORT", "defaultValue": "27017" }, { "description": "The username of your mongodb database. If MONGODB_USER is empty while MONGODB_PASS is not, the image will use admin as the default username", "id": "$$cap_mongodb_user", "label": "MONGODB USER", "defaultValue": "admin" }, { "description": "The password of your mongodb database", "id": "$$cap_mongodb_pass", "label": "MONGODB PASS", "validRegex": "/^.+$/" }, { "description": "The database name to dump. If not specified, it will dump all the databases", "id": "$$cap_mongodb_db", "label": "MONGODB DB" }, { "description": "Any extra options to pass to mongodump command. If you see *Unrecognized field 'snapshot'* problem add --forceTableScan here", "id": "$$cap_extra_opts", "label": "EXTRA_OPTS" }, { "description": "The interval of cron job to run mongodump. 0 3 * * * by default, which is every day at 03:00hrs.", "id": "$$cap_cron_time", "label": "CRON TIME", "defaultValue": "0 3 * * *" }, { "description": "timezone", "id": "$$cap_tz", "label": "TIMEZONE", "defaultValue": "US/Eastern" }, { "description": "If set, create a backup when the container launched", "id": "$$cap_init_backup", "label": "INIT BACKUP", "defaultValue": "true" }, { "description": "If set (any string, eg. true), restore from latest when container is launched.", "id": "$$cap_init_restore", "label": "INIT RESTORE", "defaultValue": "" }, { "description": "if set (any string, eg.true), it will skip setting up automated backups. good for when you want to use this container to seed a dev environment.", "id": "$$cap_disable_cron", "label": "DISABLE CRON", "defaultValue": "" } ] }