# /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: - "127.0.0.1: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: - "127.0.0.1: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