mirror of
https://github.com/offen/docker-volume-backup.git
synced 2024-11-10 00:30:29 +01:00
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
|