https://github.com/ariaieboy/pg-backup-s3/blob/main/README.md
7.7K
a docker image to back up postgres into the S3 compatible storage
this repo is based on schickling/dockerfiles.
the difference here is that we use ubuntu as base image and because of that we can add official repository of postgresql and get more updatged version of postgresql.
right now this image uses postgresql-client-15 that supports version 10-15 of postgresql.
if you need older postgresql you need to manually change the docker file and build the image with compatible client.
Docker:
$ docker run -e S3_ACCESS_KEY_ID=key -e S3_SECRET_ACCESS_KEY=secret -e S3_BUCKET=my-bucket -e S3_PREFIX=backup -e POSTGRES_DATABASE=dbname -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e POSTGRES_HOST=localhost ariaieboy/pg-backup-s3
Docker Compose:
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
pgbackups3:
image: ariaieboy/pg-backup-s3
depends_on:
- postgres
links:
- postgres
environment:
SCHEDULE: '@daily'
S3_REGION: region
S3_ACCESS_KEY_ID: key
S3_SECRET_ACCESS_KEY: secret
S3_BUCKET: my-bucket
S3_PREFIX: backup
POSTGRES_BACKUP_ALL: "false"
POSTGRES_HOST: host
POSTGRES_DATABASE: dbname
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_EXTRA_OPTS: '--schema=public --blobs'
You can additionally set the SCHEDULE environment variable like -e SCHEDULE="@daily" to run the backup automatically.
More information about the scheduling can be found here.
You can backup all available databases by setting POSTGRES_BACKUP_ALL="true".
Single archive with the name all_<timestamp>.sql.gz will be uploaded to S3
An Endpoint is the URL of the entry point for an AWS web service or S3 Compitable Storage Provider.
You can specify an alternate endpoint by setting S3_ENDPOINT environment variable like protocol://endpoint
Note: S3 Compitable Storage Provider requires S3_ENDPOINT environment variable
You can additionally set the ENCRYPTION_PASSWORD environment variable like -e ENCRYPTION_PASSWORD="superstrongpassword" to encrypt the backup. It can be decrypted using openssl aes-256-cbc -d -in backup.sql.gz.enc -out backup.sql.gz.
Content type
Image
Digest
sha256:e607c0e80…
Size
197.5 MB
Last updated
2 days ago
docker pull ariaieboy/pg-backup-s3