Docker image that runs a cron job which dumps a Postgres database, and uploads it to an Amazon S3 bucket.
CRON_SCHEDULE
: The time schedule part of a crontab file (e.g:15 3 * * *
for every night 03:15)DB_HOST
: Postgres hostnameDB_PASS
: Postgres passwordDB_USER
: Postgres usernameDB_NAME
: Name of databaseS3_PATH
: Amazon S3 path in the format: s3://bucket-name/some/pathAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION
MAIL_TO
: IfMAIL_TO
andMAIL_FROM
is specified, an e-mail will be sent, using Amazon SES, every time a backup is takenMAIL_FROM
WEBHOOK
: If specified, an HTTP request will be sent to this URLWEBHOOK_METHOD
: By default the webhook's HTTP method is GET, but can be changed using this variable
This image can also be run as a one off task to restore one of the backups.
To do this, we run the container with the command: /backup/restore.sh [S3-filename]
.
The following environment variables are required:
DB_HOST
: Postgres hostnameDB_PASS
: Postgres passwordDB_USER
: Postgres usernameDB_NAME
: Name of databaseS3_PATH
: Amazon S3 path in the format: s3://bucket-name/some/pathAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION