1
0
mirror of https://github.com/garraflavatra/docker-volume-s3-backup.git synced 2025-05-17 13:14:38 +00:00
2019-11-27 20:57:21 -07:00
2019-11-27 20:57:21 -07:00
2019-11-27 20:57:21 -07:00
2019-11-27 17:58:53 -07:00
2019-11-27 20:57:21 -07:00
2019-11-27 20:57:21 -07:00

This is a fork and restructuring of schickling's postgres-backup-s3 and postgres-restore-s3.

See backup/README.md and restore/README.md for further instructions.

Fork goals:

  • dedicated repository
  • automated builds
  • support multiple PostgreSQL versions
  • support encrypted (password-protected) backups
  • merge backup and restore images?

Usage

Backup

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 \
    eeshugerman/postgres-backup-s3

Docker Compose

postgres:
  image: postgres
  environment:
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password

pgbackups3:
  image: eeshugerman/postgres-backup-s3
  container_name: pg-backup
  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_DATABASE: dbname
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password
    POSTGRES_EXTRA_OPTS: '--schema=public --blobs'

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.

Restore

With the container running,

docker exec <container name> sh restore.sh
Description
Backup and restore Docker volumes to S3-compatible storages.
Readme 93 KiB
Languages
Shell 85.2%
Dockerfile 14.8%