# Keine festen container_name — Compose-Namen haben Projektprefix (-postgres-1). # Host-Ports: KAIRO_BACKEND_PORT (Default 8097), KAIRO_FRONTEND_PORT (Default 3097). # CI compose-smoke: 18197/13197 — siehe infra/ci-smoke.env.example services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: "${DB_NAME:-kairo_dev}" POSTGRES_USER: "${DB_USER:-kairo_dev}" POSTGRES_PASSWORD: "${DB_PASSWORD:-dev_password}" volumes: - dev-kairo-db-data:/var/lib/postgresql/data # Kein Host-Port: DB nur im Compose-Netz (vermeidet Konflikte mit kairo-dev + CI) healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-kairo_dev} -d ${DB_NAME:-kairo_dev}"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped networks: - dev-kairo-network backend: build: context: ./backend dockerfile: Dockerfile environment: DB_HOST: postgres DB_PORT: 5432 DB_NAME: "${DB_NAME:-kairo_dev}" DB_USER: "${DB_USER:-kairo_dev}" DB_PASSWORD: "${DB_PASSWORD:-dev_password}" APP_URL: "${APP_URL:-https://dev.kairo.jinkendo.de}" ALLOWED_ORIGINS: "${ALLOWED_ORIGINS:-https://dev.kairo.jinkendo.de,http://192.168.2.49:3097,http://localhost:3097}" ENVIRONMENT: "${ENVIRONMENT:-development}" SESSION_DAYS: "${SESSION_DAYS:-30}" KAIRO_BOOTSTRAP_ADMIN_EMAIL: "${KAIRO_BOOTSTRAP_ADMIN_EMAIL:-}" KAIRO_BOOTSTRAP_ADMIN_PASSWORD: "${KAIRO_BOOTSTRAP_ADMIN_PASSWORD:-}" KAIRO_BOOTSTRAP_TENANT_SLUG: "${KAIRO_BOOTSTRAP_TENANT_SLUG:-default}" KAIRO_BOOTSTRAP_TENANT_NAME: "${KAIRO_BOOTSTRAP_TENANT_NAME:-Default Tenant}" ports: - "${KAIRO_BACKEND_PORT:-8097}:8000" depends_on: postgres: condition: service_healthy healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/health')", ] interval: 10s timeout: 5s retries: 12 start_period: 30s restart: unless-stopped networks: - dev-kairo-network frontend: build: context: ./frontend dockerfile: Dockerfile args: VITE_API_URL: "" ports: - "${KAIRO_FRONTEND_PORT:-3097}:80" depends_on: backend: condition: service_healthy restart: unless-stopped networks: - dev-kairo-network volumes: dev-kairo-db-data: networks: dev-kairo-network: driver: bridge