services: postgres: image: postgres:18-alpine container_name: mokka-postgres environment: POSTGRES_DB: mokka POSTGRES_USER: mokka POSTGRES_PASSWORD: mokka volumes: - /mnt/user/appdata/mokka:/var/lib/postgresql labels: - folder.view2=Databases healthcheck: test: ["CMD-SHELL", "pg_isready -U mokka -d mokka"] interval: 5s timeout: 3s retries: 20 backend: image: registry.reset.inso-w.at/2025ws-ase-pr-group/25ws-ase-pr-qse-01/mokka-backend:latest container_name: mokka-backend depends_on: postgres: condition: service_healthy environment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/mokka SPRING_DATASOURCE_USERNAME: mokka SPRING_DATASOURCE_PASSWORD: mokka APP_CORS_ALLOWED_ORIGINS: "https://${FULL_DOMAIN}" labels: - folder.view2=Services healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:8080/actuator/health >/dev/null 2>&1 || exit 1"] interval: 5s timeout: 3s retries: 30 frontend: image: registry.reset.inso-w.at/2025ws-ase-pr-group/25ws-ase-pr-qse-01/mokka-frontend:latest container_name: mokka-frontend depends_on: backend: condition: service_healthy environment: BACKEND_URL: "http://backend:8080" networks: - default - pangolin labels: - net.unraid.docker.webui=https://${FULL_DOMAIN} - folder.view2=Services - pangolin.public-resources.mokka-frontend.name=ASE MOKKA - pangolin.public-resources.mokka-frontend.full-domain=${FULL_DOMAIN} - pangolin.public-resources.mokka-frontend.protocol=http - pangolin.public-resources.mokka-frontend.auth.sso-enabled=true - pangolin.public-resources.mokka-frontend.auth.password=ase-2026 - pangolin.public-resources.mokka-frontend.targets[0].method=http - pangolin.public-resources.mokka-frontend.targets[0].port=80 - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.enabled=true - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.hostname=mokka-frontend - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.port=80 - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.path=/ - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.method=GET - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.status=200 - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.interval=30 - pangolin.public-resources.mokka-frontend.targets[0].healthcheck.timeout=5 networks: pangolin: name: pangolin_net external: true