meldestelle/dc-gui.yaml
StefanMoCoAt 5be88b306c chore(infra+frontend): upgrade Gradle to 9.3.1 and fix KMP plugin conflicts in Docker builds
- Updated Gradle version in `.env`, Dockerfiles, and wrapper to 9.3.1.
- Replaced alias-based application of `kotlinMultiplatform` plugin with direct `id` usage in subprojects to resolve "Plugin loaded multiple times" error.
- Applied centralized plugin management and Gradle daemon optimizations to improve Docker build stability and address KMP classloading issues.
2026-02-02 23:01:23 +01:00

70 lines
2.1 KiB
YAML

name: "${PROJECT_NAME:-meldestelle}"
services:
# ==========================================
# 3. FRONTEND (UI)
# ==========================================
# --- WEB-APP ---
web-app:
build:
context: . # Wichtig: Root Context für Monorepo Zugriff
dockerfile: config/docker/caddy/web-app/Dockerfile
args:
GRADLE_VERSION: "${DOCKER_GRADLE_VERSION:-9.3.1}"
JAVA_VERSION: "${DOCKER_JAVA_VERSION:-25}"
# Frontend spezifisch:
CADDY_VERSION: "${DOCKER_CADDY_VERSION:-2.9-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: no
ports:
- "${WEB_APP_PORT:-4000:4000}"
environment:
# Runtime Configuration for Caddy Templates
# Browser can access API via localhost:8081 (Gateway)
# In Docker network, it might be http://api-gateway:8081, but browser runs on host!
# Usually, for local dev, we want the browser to hit localhost:8081.
API_BASE_URL: "${WEB_APP_API_URL:-http://localhost:8081}"
depends_on:
api-gateway:
condition: "service_started"
networks:
meldestelle-network:
aliases:
- "web-app"
profiles: [ "gui", "all" ]
# --- DESKTOP-APP (optional) ---
# desktop-app:
# build:
# context: .
# dockerfile: config/docker/nginx/desktop-app/Dockerfile
# args:
# BUILD_DATE: "${DOCKER_BUILD_DATE}"
# labels:
# - "org.opencontainers.image.created=${DOCKER_BUILD_DATE}"
# container_name: "${PROJECT_NAME:-meldestelle}-desktop-app"
# restart: no
# environment:
# API_BASE_URL: "http://api-gateway:8081"
# ports:
# - "${DESKTOP_APP_VNC_PORT:-5901:5901}"
# - "${DESKTOP_APP_NOVNC_PORT:-6080:6080}"
# depends_on:
# api-gateway:
# condition: "service_started"
# networks:
# meldestelle-network:
# aliases:
# - "desktop-app"
# profiles: [ "gui", "all" ]
networks:
meldestelle-network:
driver: bridge