--- 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/" 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