91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
version: '3.8'
|
|
|
|
x-traefik-enable-labels: &traefik-labels
|
|
traefik.enable: "true"
|
|
traefik.swarm.network: "traefik"
|
|
traefik.constraint-label: "traefik"
|
|
|
|
|
|
services:
|
|
mariadb:
|
|
image: mariadb:11.7.2-noble
|
|
networks:
|
|
- database
|
|
volumes:
|
|
- mariadb:/var/lib/mysql
|
|
environment:
|
|
- TZ:Europe/Berlin
|
|
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints:
|
|
- node.labels.mariadb.data == true
|
|
command:
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_general_ci
|
|
- --default-time-zone=Europe/Berlin
|
|
#default 128M
|
|
- --innodb_buffer_pool_size=512M
|
|
#default 48-128M
|
|
- --innodb_log_file_size=128M
|
|
#default 8M
|
|
- --innodb_log_buffer_size=32M
|
|
#default 1
|
|
- --innodb_flush_log_at_trx_commit=2
|
|
#default 151
|
|
- --max_connections=100
|
|
- --thread_cache_size=50
|
|
#default 400
|
|
- --table_open_cache=400
|
|
#default 16M
|
|
- --tmp_table_size=64M
|
|
#default 16M
|
|
- --max_heap_table_size=64M
|
|
- --skip-name-resolve
|
|
- --bind-address=0.0.0.0
|
|
|
|
#mariaDb MaxScale -https://hub.docker.com/r/mariadb/maxscale
|
|
|
|
adminer:
|
|
image: adminer:5.2.1-standalone
|
|
networks:
|
|
- traefik
|
|
- database
|
|
environment:
|
|
- ADMINER_DEFAULT_SERVER=database_mariadb
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
labels:
|
|
<<: *traefik-labels
|
|
traefik.http.routers.adminer.rule: "Host(`adminer.szabolcsi.dev`)"
|
|
traefik.http.routers.adminer.entrypoints: "https"
|
|
traefik.http.routers.adminer.tls: "true"
|
|
traefik.http.routers.adminer.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.adminer.middlewares: "local"
|
|
traefik.http.services.adminer.loadbalancer.server.port: "8080"
|
|
traefik.http.services.adminer.loadbalancer.healthCheck.path: "/"
|
|
traefik.http.services.adminer.loadbalancer.healthCheck.interval: "30s"
|
|
traefik.http.services.adminer.loadbalancer.healthCheck.timeout: "1s"
|
|
|
|
|
|
networks:
|
|
database:
|
|
name: database
|
|
driver: overlay
|
|
internal: true
|
|
ipam:
|
|
config:
|
|
- subnet: 172.30.13.0/24
|
|
traefik:
|
|
external: true
|
|
|
|
volumes:
|
|
mariadb:
|
|
name: mariadb
|
|
driver: local
|