Browse Source

Merge pull request #11 from mlaitinen/pg-backup-compose

[FEAT] Enabled postgres container linking and added a Docker Compose …
pull/13/head
Johannes Schickling 9 years ago
parent
commit
cc3740321c
  1. 26
      postgres-backup-s3/README.md
  2. 5
      postgres-backup-s3/backup.sh

26
postgres-backup-s3/README.md

@ -4,12 +4,38 @@ Backup PostgresSQL to S3 (supports periodic backups)
## Usage ## Usage
Docker:
```sh ```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 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 ### Automatic Periodic Backups
You can additionally set the `SCHEDULE` environment variable like `-e SCHEDULE="@daily"` to run the backup automatically. 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). More information about the scheduling can be found [here](http://godoc.org/github.com/robfig/cron#hdr-Predefined_schedules).

5
postgres-backup-s3/backup.sh

@ -23,9 +23,14 @@ if [ "${POSTGRES_DATABASE}" = "**None**" ]; then
fi fi
if [ "${POSTGRES_HOST}" = "**None**" ]; then if [ "${POSTGRES_HOST}" = "**None**" ]; then
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." echo "You need to set the POSTGRES_HOST environment variable."
exit 1 exit 1
fi fi
fi
if [ "${POSTGRES_USER}" = "**None**" ]; then if [ "${POSTGRES_USER}" = "**None**" ]; then
echo "You need to set the POSTGRES_USER environment variable." echo "You need to set the POSTGRES_USER environment variable."

Loading…
Cancel
Save