mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-10 00:30:29 +01:00
b5cc1262e2
* add aws secret handling * make it look go-ish * fix tests * whitespace * sleep a bit
90 lines
2.0 KiB
YAML
90 lines
2.0 KiB
YAML
# Copyright 2020-2021 - Offen Authors <hioffen@posteo.de>
|
|
# SPDX-License-Identifier: Unlicense
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
minio_setup:
|
|
image: alpine:latest
|
|
deploy:
|
|
restart_policy:
|
|
condition: none
|
|
volumes:
|
|
- backup_data:/data
|
|
command: mkdir -p /data/backup
|
|
|
|
minio:
|
|
image: minio/minio:RELEASE.2021-12-20T22-07-16Z
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
environment:
|
|
MINIO_ROOT_USER_FILE: /run/secrets/minio_root_user
|
|
MINIO_ROOT_PASSWORD_FILE: /run/secrets/minio_root_password
|
|
command: minio server /data
|
|
volumes:
|
|
- backup_data:/data
|
|
secrets:
|
|
- minio_root_user
|
|
- minio_root_password
|
|
depends_on:
|
|
- minio_setup
|
|
|
|
backup:
|
|
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
|
depends_on:
|
|
- minio
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
environment:
|
|
AWS_ACCESS_KEY_ID_FILE: /run/secrets/minio_root_user
|
|
AWS_SECRET_ACCESS_KEY_FILE: /run/secrets/minio_root_password
|
|
AWS_ENDPOINT: minio:9000
|
|
AWS_ENDPOINT_PROTO: http
|
|
AWS_S3_BUCKET_NAME: backup
|
|
BACKUP_FILENAME: test.tar.gz
|
|
BACKUP_CRON_EXPRESSION: 0 0 5 31 2 ?
|
|
BACKUP_RETENTION_DAYS: 7
|
|
BACKUP_PRUNING_LEEWAY: 5s
|
|
volumes:
|
|
- pg_data:/backup/pg_data:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
secrets:
|
|
- minio_root_user
|
|
- minio_root_password
|
|
|
|
offen:
|
|
image: offen/offen:latest
|
|
labels:
|
|
- docker-volume-backup.stop-during-backup=true
|
|
healthcheck:
|
|
disable: true
|
|
deploy:
|
|
replicas: 2
|
|
restart_policy:
|
|
condition: on-failure
|
|
|
|
pg:
|
|
image: postgres:14-alpine
|
|
environment:
|
|
POSTGRES_PASSWORD: example
|
|
labels:
|
|
- docker-volume-backup.stop-during-backup=true
|
|
volumes:
|
|
- pg_data:/var/lib/postgresql/data
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
|
|
volumes:
|
|
backup_data:
|
|
name: backup_data
|
|
pg_data:
|
|
|
|
secrets:
|
|
minio_root_user:
|
|
external: true
|
|
minio_root_password:
|
|
external: true
|