diff --git "a/\tdocker-compose.yml" "b/\tdocker-compose.yml" index f0af1b4..6876ee6 100644 --- "a/\tdocker-compose.yml" +++ "b/\tdocker-compose.yml" @@ -2,55 +2,72 @@ networks: traefik_front_network: external: true - back_network_: + back_network_metabase: driver: bridge attachable: true #### SERVICES services: metabase: - image: metabase/metabase:latest container_name: metabase hostname: metabase + image: metabase/metabase:latest volumes: - /dev/urandom:/dev/random:ro - ports: - - 3000:3000 environment: MB_DB_TYPE: postgres - MB_DB_DBNAME: metabase + MB_DB_DBNAME: ${POSTGRE_DB_NAME} MB_DB_PORT: 5432 - MB_DB_USER_FILE: /run/secrets/db_user - MB_DB_PASS_FILE: /run/secrets/db_password + MB_DB_USER_FILE: ${POSTGRE_DB_USER} + MB_DB_PASS_FILE: ${POSTGRE_DB_PASSWORD} MB_DB_HOST: postgres networks: - - metanet1 - secrets: - - db_password - - db_user + - traefik_front_network + - back_network_metabase + depends_on: + postgres: + condition: service_healthy healthcheck: test: curl --fail -I http://localhost:3000/api/health || exit 1 interval: 15s timeout: 5s retries: 5 + labels: + - "traefik.enable=true" + - "traefik.docker.network=traefik_front_network" +# HTTP + - "traefik.http.routers.metabase-http.rule=Host(`metabase.tips-of-mine.com`)" + - "traefik.http.routers.metabase-http.entrypoints=http" + - "traefik.http.routers.metabase-http.priority=49" +# HTTPS + - "traefik.http.routers.metabase-https.rule=Host(`metabase.tips-of-mine.com`)" + - "traefik.http.routers.metabase-https.entrypoints=https" + - "traefik.http.routers.metabase-https.tls=true" + - "traefik.http.routers.metabase-https.priority=50" + - "traefik.http.routers.metabase.service=metabase-https-service" +# Middleware +# Service + - "traefik.http.services.metabase-https-service.loadbalancer.server.port=3000" + +### postgres: - image: postgres:latest - container_name: postgres - hostname: postgres + container_name: metabase-postgres + hostname: metabase-postgres + image: ${POSTGRES_IMAGE_TAG} environment: - POSTGRES_USER_FILE: /run/secrets/db_user - POSTGRES_DB: metabase - POSTGRES_PASSWORD_FILE: /run/secrets/db_password + PGDATA: ${POSTGRE_DB_DATA} + POSTGRES_DB: ${POSTGRE_DB_NAME} + POSTGRES_PASSWORD: ${POSTGRE_DB_PASSWORD} + POSTGRES_USER: ${POSTGRE_DB_USER} + TZ: Europe/Paris + restart: unless-stopped networks: - - metanet1 - secrets: - - db_password - - db_user -networks: - metanet1: - driver: bridge -secrets: - db_password: - file: db_password.txt - db_user: - file: db_user.txt + - back_network_gitea + volumes: + - ./data:/var/lib/postgresql/data:rw + healthcheck: + test: [ "CMD", "pg_isready", "-q", "-d", "${POSTGRE_DB_NAME}", "-U", "${POSTGRE_DB_USER}" ] + interval: 10s + timeout: 5s + retries: 3 + start_period: 60s \ No newline at end of file