# Despliegue real: 2 servicios (app Node + OTP Java) en la misma red interna.
# Solo la app se expone al exterior; OTP queda privado y la app le habla por red interna.
services:
  otp:
    build:
      context: .
      dockerfile: Dockerfile.otp
    restart: unless-stopped
    expose:
      - "8080"          # solo visible dentro de la red de compose, NO al exterior
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://localhost:8080/otp/routers/default > /dev/null || exit 1"]
      interval: 15s
      timeout: 5s
      retries: 20
      start_period: 60s

  app:
    build:
      context: .
      dockerfile: Dockerfile.app
    restart: unless-stopped
    ports:
      - "8811:8811"     # <-- lo que abres/pones detrás del proxy con HTTPS
    environment:
      - OTP_URL=http://otp:8080/otp/routers/default/index/graphql
      - EUSKALMET_SECRET_B64=${EUSKALMET_SECRET_B64}   # se lee de .env (NO se commitea)
    depends_on:
      - otp
