services: mariadb: image: mariadb:11.4 container_name: mariadb-node${MGDB_NODE_NUMBER} restart: always network_mode: host environment: - MARIADB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MARIADB_USER=${DB_ADMIN_USER} - MARIADB_PASSWORD=${DB_ADMIN_PASSWORD} - MARIADB_DATABASE=initial_db # Pass these through for the init script - APP_REGISTRY=${APP_REGISTRY} - REPL_USER=${REPL_USER} - REPL_PASSWORD=${REPL_PASSWORD} # Dynamic password variables for your apps - FORGEJO_DB_PASS=${FORGEJO_DB_PASS} - GUACAMOLE_DB_PASS=${GUACAMOLE_DB_PASS} - GRAFANA_DB_PASS=${GRAFANA_DB_PASS} volumes: - /docker/maria/data:/var/lib/mysql - /docker/maria/conf:/etc/mysql/conf.d - /docker/maria/init:/docker-entrypoint-initdb.d command: - mariadbd # NETWORK BINDING - --bind-address=0.0.0.0 # ASYNC REPLICATION CONFIG - --log-bin=mysql-bin - --binlog-format=ROW - --server-id=${MGDB_NODE_NUMBER} - --log-slave-updates=ON - --gtid-strict-mode=ON # COLLISION PREVENTION (Odds vs Evens) - --auto-increment-increment=2 - --auto-increment-offset=${MGDB_NODE_NUMBER} # PERFORMANCE - --innodb-buffer-pool-size=1G # Adjust based on your RAM - --innodb-flush-log-at-trx-commit=2 # 1=Safest, 2=Faster