diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..dbce115 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +* +!src/* diff --git a/.gitignore b/.gitignore index 485dee6..3bf780b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea +.env \ No newline at end of file diff --git a/README.md b/README.md index 1bd0125..fc5d142 100644 --- a/README.md +++ b/README.md @@ -49,9 +49,14 @@ docker exec sh restore.sh ## Build the image locally `ALPINE_VERSION` determines Postgres version compatibility. See [`build-and-push-images.yml`](.github/workflows/build-and-push-images.yml) for the latest mapping. ```sh -cd postgres-backup-s3 docker build --build-arg ALPINE_VERSION=3.14 ``` +## Run a simple test environment with Docker Compose +```sh +cp template.env .env +# fill out your secrets/params in .env +docker compose up -d +``` # Acknowledgements This project is a fork and re-structuring of @schickling's [postgres-backup-s3](https://github.com/schickling/dockerfiles/tree/master/postgres-backup-s3) and [postgres-restore-s3](https://github.com/schickling/dockerfiles/tree/master/postgres-restore-s3). diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..16ac481 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,28 @@ +# this file is here to facilitate development/testing +# $ docker compose up -d --build --force-recreate + +services: + postgres: + image: postgres:14 + environment: + POSTGRES_USER: user + POSTGRES_PASSWORD: password + + backup: + build: + context: . + args: + ALPINE_VERSION: '3.16' + environment: + SCHEDULE: '@weekly' # optional + BACKUP_KEEP_DAYS: 7 # optional + PASSPHRASE: passphrase # optional + S3_REGION: + S3_ACCESS_KEY_ID: + S3_SECRET_ACCESS_KEY: + S3_BUCKET: + S3_PREFIX: backup + POSTGRES_HOST: postgres + POSTGRES_DATABASE: postgres + POSTGRES_USER: user + POSTGRES_PASSWORD: password diff --git a/template.env b/template.env new file mode 100644 index 0000000..e0b5c24 --- /dev/null +++ b/template.env @@ -0,0 +1,4 @@ +S3_REGION="" +S3_ACCESS_KEY_ID="" +S3_SECRET_ACCESS_KEY="" +S3_BUCKET=""