53 lines
1.2 KiB
YAML
53 lines
1.2 KiB
YAML
---
|
|
version: "3"
|
|
|
|
volumes:
|
|
db:
|
|
dbbackup:
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:latest
|
|
restart: unless-stopped
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
volumes:
|
|
- db:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${PW_MYSQLROOT}
|
|
- MYSQL_PASSWORD=${PW_MYSQL}
|
|
- MYSQL_DATABASE=${DB_DATABASE}
|
|
- MYSQL_USER=${DB_USER}
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
|
healthcheck:
|
|
test: ['CMD', 'mariadb-admin', 'ping', '-h', 'localhost']
|
|
timeout: 10s
|
|
retries: 5
|
|
labels:
|
|
diun.enable: true
|
|
|
|
db-backup:
|
|
image: fradelg/mysql-cron-backup:latest
|
|
depends_on:
|
|
- db
|
|
links:
|
|
- db
|
|
volumes:
|
|
- dbbackup:/backup
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
- MYSQL_HOST=db
|
|
- MYSQL_USER=root
|
|
- MYSQL_PASS=${PW_MYSQLROOT}
|
|
- MYSQLDUMP_OPTS=--force --single-transaction --quick --compact --extended-insert --order-by-primary
|
|
- MAX_BACKUPS=4
|
|
- INIT_BACKUP=1
|
|
# Every day at 00:30
|
|
- CRON_TIME=30 0 * * *
|
|
# Make it small
|
|
- GZIP_LEVEL=9
|
|
restart: unless-stopped
|
|
labels:
|
|
diun.enable: true
|
|
|
|
...
|