services: mongo: image: docker.m.daocloud.io/library/mongo:7 container_name: workphone-mongo-baota restart: unless-stopped environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME:-workphone} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD:?MONGO_ROOT_PASSWORD is required} volumes: - workphone_mongo_data:/data/db networks: [workphone] healthcheck: test: ["CMD", "mongosh", "--quiet", "mongodb://${MONGO_ROOT_USERNAME:-workphone}:${MONGO_ROOT_PASSWORD}@127.0.0.1:27017/admin", "--eval", "db.adminCommand('ping')"] interval: 10s timeout: 5s retries: 12 start_period: 30s redis: image: docker.1ms.run/library/redis:7-alpine container_name: workphone-redis-baota restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - workphone_redis_data:/data networks: [workphone] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 10 sdk: build: context: . dockerfile: Dockerfile container_name: workphone-sdk-baota restart: unless-stopped ports: - "127.0.0.1:8899:8899" environment: ENV: production DEBUG: "false" TZ: Asia/Shanghai API_AUTH_ENABLED: "true" API_KEY: ${API_KEY:?API_KEY is required} DEVICE_PAIRING_TOKEN: ${DEVICE_PAIRING_TOKEN:?DEVICE_PAIRING_TOKEN is required} MONGO_URI: mongodb://${MONGO_ROOT_USERNAME:-workphone}:${MONGO_ROOT_PASSWORD}@mongo:27017/?authSource=admin MONGO_DB: workphone_sdk REDIS_URL: redis://redis:6379/1 AI_BRAIN_ENABLED: ${AI_BRAIN_ENABLED:-false} AI_BRAIN_API_URL: ${AI_BRAIN_API_URL:-https://kr-ai.quwanzhi.com} AI_BRAIN_API_KEY: ${AI_BRAIN_API_KEY:-} WORKPHONE_WS_FIRST: "true" WECHAT_WS_HOOK_ONLY: "true" WORKPHONE_HOST_ADB_PROBE: "false" SERVER_FRIDA_ENABLED: ${SERVER_FRIDA_ENABLED:-false} SERVER_FRIDA_HOST: ${SERVER_FRIDA_HOST:-172.18.0.1} SERVER_FRIDA_PORT: ${SERVER_FRIDA_PORT:-14538} SERVER_FRIDA_DEVICE_ID: ${SERVER_FRIDA_DEVICE_ID:-} volumes: - workphone_sdk_data:/data - workphone_sdk_logs:/app/logs depends_on: mongo: condition: service_healthy redis: condition: service_healthy networks: [workphone] healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8899/health"] interval: 30s timeout: 10s retries: 5 start_period: 90s volumes: workphone_mongo_data: workphone_redis_data: workphone_sdk_data: workphone_sdk_logs: networks: workphone: name: workphone-baota-network