92 lines
3.0 KiB
YAML
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
|