services: app: environment: - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD_FILE=/run/secrets/db_password db: image: "mariadb:10.5" environment: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD_FILE=/run/secrets/db_password - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password configs: - source: my_tune target: /etc/mysql/conf.d/my-tune.cnf secrets: - db_root_password - db_password volumes: - "mariadb:/var/lib/mysql" networks: - internal deploy: labels: backupbot.backup: "true" backupbot.backup.pre-hook: 'mysqldump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" nextcloud > /var/lib/mysql/backup.sql' backupbot.backup.post-hook: "rm -rf /var/lib/mysql/backup.sql" backupbot.backup.path: "/var/lib/mysql/backup.sql" healthcheck: test: ["CMD-SHELL", 'mysqladmin -p"$$(cat /run/secrets/db_root_password)" ping'] interval: 30s timeout: 10s retries: 10 start_period: 1m configs: my_tune: name: ${STACK_NAME}_my_cnf file: my-tune.cnf secrets: db_root_password: external: true name: ${STACK_NAME}_db_root_password db_password: external: true name: ${STACK_NAME}_db_password volumes: mariadb: