--- version: "3.8" services: app: image: ${IMAGE:-docker.chaos.expert/engelsystem/engelsystem/engelsystem}:${TAG:-latest} environment: - MYSQL_HOST=db - MYSQL_USER=engelsystem - MYSQL_PASSWORD - MYSQL_PASSWORD_FILE=/run/secrets/db_password - MYSQL_DATABASE=engelsystem - CONTACT_EMAIL - SETUP_ADMIN_PASSWORD - SETUP_ADMIN_PASSWORD_FILE=/run/secrets/admin_password - THEME - GOODIE_TYPE - ENABLE_VOUCHER - DEFAULT_LOCALE networks: - database - proxy depends_on: - db secrets: - db_password - admin_password deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" - "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.permanent=true" - "coop-cloud.${STACK_NAME}.version=0.1.0" - "backupbot.backup=true" configs: - source: engelsystem_entrypoint target: /abra-entrypoint.sh mode: 0555 entrypoint: /abra-entrypoint.sh db: image: mariadb:11.3 environment: MYSQL_DATABASE: engelsystem MYSQL_USER: engelsystem MYSQL_PASSWORD_FILE: /run/secrets/db_password MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password MYSQL_INITDB_SKIP_TZINFO: "yes" volumes: - db:/var/lib/mysql networks: - database secrets: - db_root_password - db_password deploy: labels: backupbot.backup: "true" backupbot.backup.pre-hook: "sh -c 'mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" engelsystem | gzip > /var/lib/mysql/dump.sql.gz'" backupbot.backup.path: "/var/lib/mysql/dump.sql.gz" backupbot.backup.post-hook: "rm -f /var/lib/mysql/dump.sql.gz" backupbot.restore: "true" backupbot.restore.post-hook: "sh -c 'gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/db_root_password)\" engelsystem < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql'" volumes: db: {} secrets: db_password: external: true name: ${STACK_NAME}_db_password_${DB_PASSWORD_VERSION} db_root_password: external: true name: ${STACK_NAME}_db_root_password_${DB_ROOT_PASSWORD_VERSION} admin_password: external: true name: ${STACK_NAME}_admin_password_${ADMIN_PASSWORD_VERSION} networks: database: proxy: external: true configs: engelsystem_entrypoint: name: ${STACK_NAME}_engelsystem_entrypoint_${ENGELSYSTEM_ENTRYPOINT_VERSION} file: entrypoint.sh