name: "${PROJECT_NAME:-meldestelle}" services: # ========================================== # 3. FRONTEND (UI) # ========================================== # --- WEB-APP --- # web-app: # image: "${DOCKER_REGISTRY:-git.mo-code.at/mo-code}/web-app:${DOCKER_TAG:-latest}" # build: # context: . # Wichtig: Root Context für Monorepo Zugriff # dockerfile: config/docker/caddy/web-app/Dockerfile # args: # # Frontend spezifisch: # CADDY_VERSION: "${DOCKER_CADDY_VERSION:-2.11-alpine}" # # Metadaten: # VERSION: "${DOCKER_VERSION:-1.0.0-SNAPSHOT}" # BUILD_DATE: "${DOCKER_BUILD_DATE}" # labels: # - "org.opencontainers.image.created=${DOCKER_BUILD_DATE}" # container_name: "${PROJECT_NAME:-meldestelle}-web-app" # restart: unless-stopped # ports: # - "${WEB_APP_PORT:-4000:4000}" # environment: # # Runtime Configuration — via envsubst in entrypoint.sh in config.json & index.html injiziert. # # Muss die öffentlich erreichbare URL sein (Browser-Zugriff!), NICHT localhost. # API_BASE_URL: "${WEB_APP_API_URL:-http://localhost:8081}" # # Keycloak Public URL (muss vom Browser aus erreichbar sein) # KEYCLOAK_URL: "${WEB_APP_KEYCLOAK_URL:-http://localhost:8180}" # depends_on: # api-gateway: # condition: "service_started" # healthcheck: # test: [ "CMD", "wget", "--spider", "-q", "http://localhost:4000/" ] # interval: 20s # timeout: 5s # retries: 5 # start_period: 20s # networks: # meldestelle-network: # aliases: # - "web-app" # profiles: [ "gui", "all" ] networks: meldestelle-network: driver: bridge