48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
---
|
|
version: "3.8"
|
|
services:
|
|
app:
|
|
image: docker:24.0.2-dind
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
- "/var/lib/docker/volumes/:/var/lib/docker/volumes/:ro"
|
|
environment:
|
|
- CRON_SCHEDULE
|
|
- RESTIC_REPO
|
|
- RESTIC_PASSWORD_FILE=/run/secrets/restic_password
|
|
- BACKUP_DEST=/backups
|
|
- RESTIC_HOST
|
|
- SERVER_NAME
|
|
- REMOVE_BACKUP_VOLUME_AFTER_UPLOAD=1
|
|
secrets:
|
|
- restic_password
|
|
deploy:
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8008"
|
|
- "traefik.http.routers.${STACK_NAME}.rule="
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
- coop-cloud.${STACK_NAME}.version=0.1.0+latest
|
|
configs:
|
|
- source: entrypoint
|
|
target: /entrypoint.sh
|
|
mode: 0555
|
|
- source: backup
|
|
target: /backup.sh
|
|
mode: 0555
|
|
entrypoint: ['/entrypoint.sh']
|
|
|
|
secrets:
|
|
restic_password:
|
|
external: true
|
|
name: ${STACK_NAME}_restic_password_${SECRET_RESTIC_PASSWORD_VERSION}
|
|
|
|
configs:
|
|
entrypoint:
|
|
name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION}
|
|
file: entrypoint.sh
|
|
backup:
|
|
name: ${STACK_NAME}_backup_${BACKUP_VERSION}
|
|
file: backup.sh
|