services: mongo: image: mongo:7 ports: - "27017:27017" volumes: - mongo-data:/data/db restate: image: docker.io/restatedev/restate:latest ports: - "8081:8080" # ingress - "9070:9070" # admin registry: image: registry:2 container_name: langship-flow-registry ports: # Host port 5050 (debug / docker pull from host); inside the compose # network buildkitd pushes to registry:5000 via service DNS. - "127.0.0.1:5050:5000" volumes: - registry-data:/var/lib/registry buildkitd: image: moby/buildkit:v0.18.2 container_name: langship-flow-buildkitd privileged: true command: - --addr - tcp://0.0.0.0:1234 - --addr - unix:///run/buildkit/buildkitd.sock - --config - /etc/buildkit/buildkitd.toml ports: - "127.0.0.1:1234:1234" volumes: - buildkit-data:/var/lib/buildkit - ./docker/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml:ro healthcheck: test: ["CMD", "buildctl", "--addr", "tcp://0.0.0.0:1234", "debug", "info"] interval: 10s timeout: 5s retries: 10 start_period: 10s minio: image: minio/minio:latest container_name: langship-flow-minio command: server /data --console-address ":9001" environment: - MINIO_ROOT_USER=minio - MINIO_ROOT_PASSWORD=minio12345 ports: - "127.0.0.1:9000:9000" # S3 API - "127.0.0.1:9001:9001" # web console volumes: - minio-data:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 10s timeout: 3s retries: 5 start_period: 5s flow: build: . ports: - "8090:8090" # JSON API - "9080:9080" # restate callback endpoint environment: - FLOW_ADDR=:8090 - MONGO_URI=mongodb://mongo:27017 - MONGO_DB=flow - FLOW_CORS_ORIGINS=http://localhost:3000,http://web:3000 - RESTATE_INGRESS_URL=http://restate:8080 - RESTATE_ADMIN_URL=http://restate:9070 - RESTATE_DEPLOYMENT_URI=http://flow:9080 - BUILDKIT_HOST=tcp://buildkitd:1234 - MINIO_ENDPOINT=minio:9000 - MINIO_ACCESS_KEY=minio - MINIO_SECRET_KEY=minio12345 - MINIO_BUCKET=flow-logs - MINIO_USE_SSL=false depends_on: - mongo - restate - buildkitd - registry - minio web: build: ./web ports: - "3000:3000" # UI (open this in your browser) depends_on: - flow volumes: mongo-data: buildkit-data: registry-data: minio-data: