services: backend: container_name: backend image: ghcr.io/intuitem/ciso-assistant-community/backend:latest pull_policy: always restart: always environment: - ALLOWED_HOSTS=backend,localhost - CISO_ASSISTANT_URL=https://localhost:8443 - DJANGO_DEBUG=True - AUTH_TOKEN_TTL=7200 volumes: - ./db:/code/db healthcheck: test: ["CMD-SHELL", "curl -f http://backend:8000/api/build || exit 1"] interval: 10s timeout: 5s retries: 20 start_period: 100s huey: container_name: huey image: ghcr.io/intuitem/ciso-assistant-community/backend:latest pull_policy: always depends_on: backend: condition: service_healthy restart: always environment: - ALLOWED_HOSTS=backend,localhost - CISO_ASSISTANT_URL=https://localhost:8443 - DJANGO_DEBUG=False - AUTH_TOKEN_TTL=7200 volumes: - ./db:/code/db entrypoint: - /bin/sh - -c - | poetry run python manage.py run_huey -w 2 --scheduler-interval 60 frontend: container_name: frontend environment: - PUBLIC_BACKEND_API_URL=http://backend:8000/api - PUBLIC_BACKEND_API_EXPOSED_URL=https://localhost:8443/api - PROTOCOL_HEADER=x-forwarded-proto - HOST_HEADER=x-forwarded-host image: ghcr.io/intuitem/ciso-assistant-community/frontend:latest pull_policy: always depends_on: backend: condition: service_healthy caddy: container_name: caddy image: caddy:2.8.4 environment: - CISO_ASSISTANT_URL=https://localhost:8443 depends_on: backend: condition: service_healthy restart: unless-stopped ports: - 8443:8443 volumes: - ./caddy_data:/data command: | sh -c 'echo $$CISO_ASSISTANT_URL "{ reverse_proxy /api/* backend:8000 reverse_proxy /* frontend:3000 tls internal }" > Caddyfile && caddy run'