Files
mrbs/compose.mariadb.yml
2025-07-24 21:55:52 +02:00

52 lines
1.5 KiB
YAML

version: "3.8"
services:
app:
environment:
- DB_HOST=db
- DB_USER=mrbs-user
- DB_PASS=replacewithdockersecret
- DB_DATABASE=mrbs
db:
image: "mariadb:11.8"
environment:
- MYSQL_DATABASE=mrbs
- MYSQL_USER=mrbs-user
#- MYSQL_PASSWORD_FILE=/run/secrets/db_password
- MYSQL_PASSWORD=replacewithdockersecret
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
- MAX_DB_CONNECTIONS=${MAX_DB_CONNECTIONS:-100}
- PUID=1000
- PGID=1000
- TZ=${TIMEZONE:-"Europe/London"}
secrets:
- db_root_password
- db_password
volumes:
- "mariadb:/var/lib/mysql"
networks:
- internal
deploy:
labels:
backupbot.backup.pre-hook: 'mariadb-dump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" mrbs > /var/lib/mysql/backup.sql'
backupbot.backup.volumes.mariadb.path: "backup.sql"
backupbot.restore.post-hook: 'mariadb -u root -p"$$(cat /run/secrets/db_root_password)" mrbs < /var/lib/mysql/backup.sql'
healthcheck:
test: ["CMD-SHELL", 'mariadb-admin -p"$$(cat /run/secrets/db_root_password)" ping']
interval: 30s
timeout: 10s
retries: 10
start_period: 1m
secrets:
db_root_password:
external: true
name: ${STACK_NAME}_db_root_password_${SECRET_DB_ROOT_PASSWORD_VERSION}
db_password:
external: true
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
volumes:
mariadb: