# Base configuration (not a service, just a reusable config block) x-base-config: &base-config ports: - "11235:11235" - "8000:8000" - "9222:9222" - "8080:8080" environment: - CRAWL4AI_API_TOKEN=${CRAWL4AI_API_TOKEN:-} - OPENAI_API_KEY=${OPENAI_API_KEY:-} - CLAUDE_API_KEY=${CLAUDE_API_KEY:-} volumes: - /dev/shm:/dev/shm deploy: resources: limits: memory: 4G reservations: memory: 1G restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:11235/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s services: # Local build services for different platforms crawl4ai-amd64: build: context: . dockerfile: Dockerfile args: PYTHON_VERSION: "3.10" INSTALL_TYPE: ${INSTALL_TYPE:-basic} ENABLE_GPU: false platforms: - linux/amd64 profiles: ["local-amd64"] <<: *base-config # extends yerine doğrudan yapılandırmayı dahil ettik crawl4ai-arm64: build: context: . dockerfile: Dockerfile args: PYTHON_VERSION: "3.10" INSTALL_TYPE: ${INSTALL_TYPE:-basic} ENABLE_GPU: false platforms: - linux/arm64 profiles: ["local-arm64"] <<: *base-config # Hub services for different platforms and versions crawl4ai-hub-amd64: image: unclecode/crawl4ai:${VERSION:-basic}-amd64 profiles: ["hub-amd64"] <<: *base-config crawl4ai-hub-arm64: image: unclecode/crawl4ai:${VERSION:-basic}-arm64 profiles: ["hub-arm64"] <<: *base-config