services: api: build: context: .. dockerfile: docker/Dockerfile ports: - "${API_PORT:-8000}:${API_PORT:-8000}" volumes: - ./config:/config environment: - TZ=${TZ:-} - SMS_GATEWAY_SECRET=${SMS_GATEWAY_SECRET:-} healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:${API_PORT:-8000}/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s calc: build: context: .. dockerfile: docker/Dockerfile command: ["/entrypoint.sh", "calc"] ports: - "${CALC_PORT:-8002}:${CALC_PORT:-8002}" volumes: - ./config:/config environment: - TZ=${TZ:-} - API_PORT=${CALC_PORT:-8002} mcp: build: context: .. dockerfile: docker/Dockerfile command: ["/entrypoint.sh", "mcp"] ports: - "${MCP_PORT:-8001}:${MCP_PORT:-8001}" volumes: - ./config:/config environment: - TZ=${TZ:-}