You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
5 years ago | |
|---|---|---|
| .. | ||
| Dockerfile | 5 years ago | |
| README.md | 5 years ago | |
| backup.sh | 5 years ago | |
| run.sh | 9 years ago | |
README.md
postgres-backup-s3
Backup PostgresSQL to S3 (supports periodic backups)
Usage
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 schickling/postgres-backup-s3
Docker Compose:
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
pgbackups3:
image: schickling/postgres-backup-s3
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_DATABASES: dbname
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_EXTRA_OPTS: '--schema=public --blobs'
Environment variables
POSTGRES_EXTRA_OPTSpg_dump options (default: '')POSTGRES_DATABASESlist of databases you want to backup requiredPOSTGRES_HOSTthe postgres host requiredPOSTGRES_PORTthe postgres port (default: 5432)POSTGRES_USERthe postgres user requiredPOSTGRES_PASSWORDthe mysql password requiredPOSTGRES_PASSWORD_FILEpath to file containing the postgres password; alternative toPOSTGRES_PASSWORDS3_ACCESS_KEY_IDyour AWS access key requiredS3_ACCESS_KEY_ID_FILEpath to file containing your AWS access key; alternative toS3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEYyour AWS secret key requiredS3_SECRET_ACCESS_KEY_FILEpath to file containing your AWS secret key; alternative toS3_SECRET_ACCESS_KEYsS3_BUCKETyour AWS S3 bucket path requiredS3_PREFIXpath prefix in your bucket (default: 'backup')S3_FILENAMEa consistent filename to overwrite with your backup. If not set will use a timestamp.S3_REGIONthe AWS S3 bucket region (default: us-west-1)S3_ENDPOINTthe AWS Endpoint URL, for S3 Compliant APIs such as minio (default: none)S3_S3V4set toyesto enable AWS Signature Version 4, required for minio servers (default: no)SCHEDULEbackup schedule time, see explainatons below
Automatic Periodic Backups
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.