services: cairn-server: build: context: . dockerfile: Dockerfile image: cairn-app container_name: cairn-server ports: - "8000:8000" volumes: - ./datas/cairn/:/root/.local/share/cairn/ healthcheck: test: - "CMD" - "python" - "-c" - "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/projects', timeout=5)" interval: 10s timeout: 5s retries: 12 start_period: 3s restart: unless-stopped command: ["uv", "run", "cairn", "serve", "--host", "0.0.0.0", "--no-access-log"] cairn-dispatcher: build: context: . dockerfile: Dockerfile image: cairn-app container_name: cairn-dispatcher volumes: - /var/run/docker.sock:/var/run/docker.sock - ./dispatch.yaml:/cairn/dispatch.yaml depends_on: cairn-server: condition: service_healthy restart: unless-stopped command: ["uv", "run", "cairn", "dispatch", "--config", "dispatch.yaml"]