Files
workphone-sdk/sdk/docker-compose.baota.yml

92 lines
3.0 KiB
YAML

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}
CONSOLE_USERNAME: ${CONSOLE_USERNAME:-admin}
CONSOLE_PASSWORD: ${CONSOLE_PASSWORD:?CONSOLE_PASSWORD is required}
CONSOLE_SESSION_TTL: ${CONSOLE_SESSION_TTL:-43200}
WORKPHONE_LAN_IP: ${WORKPHONE_LAN_IP:-}
WORKPHONE_BIND_SERVER: ${WORKPHONE_BIND_SERVER:-}
WORKPHONE_PUBLIC_WSS: ${WORKPHONE_PUBLIC_WSS:-wss://wpsdk.quwanzhi.com/ws/device}
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