Files
curs-sobirania-digital/mariadb/docker-compose.yml
Guillem Hernandez Sola 05da2b8507 Repo amb readme
2026-06-30 13:25:42 +02:00

59 lines
1.8 KiB
YAML

# /opt/stacks/mariadb/docker-compose.yml
services:
# ── Servei MariaDB ───────────────────────
mariadb:
container_name: mariadb
image: mariadb:11.4 # Pinnat a LTS estable
restart: unless-stopped
environment:
TZ: Europe/Madrid
MARIADB_ROOT_PASSWORD: '${MARIADB_ROOT_PASSWORD}'
MARIADB_DATABASE: '${MARIADB_DATABASE}'
MARIADB_USER: '${MARIADB_USER}'
MARIADB_PASSWORD: '${MARIADB_PASSWORD}'
MARIADB_CHARACTER_SET_SERVER: utf8mb4
MARIADB_COLLATION_SERVER: utf8mb4_unicode_ci
ports:
- "3306:3306" # Accés local per eines externes (DBeaver, etc.)
volumes:
- mariadb_data:/var/lib/mysql
- mariadb_init:/docker-entrypoint-initdb.d # Volum named en lloc de bind mount
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s # Afegit: timeout explícit
retries: 5
start_period: 60s # Afegit: marge per a scripts d'inicialització
networks:
- db_net
# ── Adminer: UI web per gestionar la BD ──
adminer:
container_name: adminer
image: adminer:latest
restart: unless-stopped
ports:
- "8090:8080" # UI web (només local → via Nginx)
environment:
TZ: Europe/Madrid
ADMINER_DEFAULT_SERVER: mariadb # Pre-omple el camp servidor a la UI
ADMINER_DESIGN: pepa-linha # Tema visual més modern (opcional)
depends_on:
mariadb:
condition: service_healthy
networks:
- db_net
- shared_net
volumes:
mariadb_data:
mariadb_init: # Posa els teus scripts SQL aquí
networks:
db_net:
driver: bridge
shared_net:
external: true
name: shared_net