pg_backup_job/docker-compose.yml

63 lines
1.4 KiB
YAML

version: '3.8'
services:
db:
image: postgres:15
container_name: postgres_db
environment:
POSTGRES_USER: testuser
POSTGRES_PASSWORD: testpassword
POSTGRES_DB: testdb
ports:
- "5435:5432"
volumes:
- db_data:/var/lib/postgresql/data
pg_dump_uploader:
build:
context: .
dockerfile: Dockerfile
container_name: pg_dump_uploader
environment:
PG_HOST: db
PG_PORT: 5432
PG_USER: testuser
PG_PASSWORD: testpassword
PG_DATABASE: testdb
S3_BUCKET: test-bucket
AWS_ACCESS_KEY_ID: test-access-key
AWS_SECRET_ACCESS_KEY: test-secret-key
AWS_DEFAULT_REGION: us-east-1
S3_ENDPOINT: http://minio:9000
depends_on:
- db
- minio
minio:
image: minio/minio
container_name: minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: test-access-key
MINIO_ROOT_PASSWORD: test-secret-key
ports:
- "9000:9000"
- "9001:9001"
volumes:
- minio_data:/data
createbuckets:
image: minio/mc
depends_on:
- minio
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc config host add myminio http://minio:9000 test-access-key test-secret-key) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc mb myminio/test-bucket;
/usr/bin/mc policy download myminio/test-bucket;
exit 0;
"
volumes:
db_data:
minio_data: