From 8eea309b04d6aa8f05b0bbbd0950a8ca3c1ce34e Mon Sep 17 00:00:00 2001 From: Miku Laitinen Date: Mon, 25 Jan 2016 22:00:39 +0200 Subject: [PATCH] [FEAT] Enabled postgres container linking and added a Docker Compose linking example in the README.md. --- postgres-backup-s3/README.md | 26 ++++++++++++++++++++++++++ postgres-backup-s3/backup.sh | 9 +++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/postgres-backup-s3/README.md b/postgres-backup-s3/README.md index b1cb7b8..ce0de9f 100644 --- a/postgres-backup-s3/README.md +++ b/postgres-backup-s3/README.md @@ -4,12 +4,38 @@ Backup PostgresSQL to S3 (supports periodic backups) ## Usage +Docker: ```sh $ 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: +```yaml +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_DATABASE: dbname + POSTGRES_USER: user + POSTGRES_PASSWORD: password +``` + ### 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](http://godoc.org/github.com/robfig/cron#hdr-Predefined_schedules). + diff --git a/postgres-backup-s3/backup.sh b/postgres-backup-s3/backup.sh index b3e4a8f..7bd1d94 100644 --- a/postgres-backup-s3/backup.sh +++ b/postgres-backup-s3/backup.sh @@ -23,8 +23,13 @@ if [ "${POSTGRES_DATABASE}" = "**None**" ]; then fi if [ "${POSTGRES_HOST}" = "**None**" ]; then - echo "You need to set the POSTGRES_HOST environment variable." - exit 1 + if [ -n "${POSTGRES_PORT_5432_TCP_ADDR}" ]; then + POSTGRES_HOST=$POSTGRES_PORT_5432_TCP_ADDR + POSTGRES_PORT=$POSTGRES_PORT_5432_TCP_PORT + else + echo "You need to set the POSTGRES_HOST environment variable." + exit 1 + fi fi if [ "${POSTGRES_USER}" = "**None**" ]; then