59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
# 工作手机SDK v3.1 - Docker Compose配置
|
||
# 使用现有的MongoDB(27017)和Redis(6379)
|
||
# 含 AI Brain 支持、Hook 模块管理
|
||
# 统一入口:8899(控制台 /hub、API、WebSocket 同源,不再使用 8880 Nginx 反代)
|
||
|
||
services:
|
||
workphone-sdk:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
container_name: workphone-sdk
|
||
restart: always
|
||
ports:
|
||
- "8899:8899"
|
||
environment:
|
||
- ENV=production
|
||
- TZ=Asia/Shanghai
|
||
# Type-C/USB:容器内默认看不到本机 USB。宿主机执行 sdk/scripts/adb_host_server_listen_all.sh 后,
|
||
# 在 .env 中设置 ADB_SERVER_SOCKET=tcp:host.docker.internal:5038(5037 在部分 Mac 会挂死)
|
||
- ADB_SERVER_SOCKET=${ADB_SERVER_SOCKET:-tcp:host.docker.internal:5038}
|
||
- MONGO_URI=mongodb://admin:admin123@host.docker.internal:27017
|
||
- MONGO_DB=workphone_sdk
|
||
- REDIS_URL=redis://host.docker.internal:6379/1
|
||
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
|
||
- API_KEY=${API_KEY:-workphone-secret-key}
|
||
# AI Brain 配置
|
||
- AI_BRAIN_ENABLED=${AI_BRAIN_ENABLED:-true}
|
||
- AI_BRAIN_API_URL=${AI_BRAIN_API_URL:-http://host.docker.internal:3102}
|
||
- AI_BRAIN_API_KEY=${AI_BRAIN_API_KEY:-kr_jSH3zQPDUKmuNwn_Q931CJgfofuOs5Eg}
|
||
- AI_BRAIN_DEFAULT_MODEL=${AI_BRAIN_DEFAULT_MODEL:-claude-sonnet-4-5-20250929}
|
||
volumes:
|
||
- ./app:/app
|
||
- ./frida_scripts:/app/frida_scripts
|
||
- ../开发文档:/开发文档:ro
|
||
- workphone_data:/data
|
||
- workphone_logs:/app/logs
|
||
# 与宿主机共用 adb 密钥;容器内通过「WiFi + adb tcpip」连手机(Mac 上 Docker 无法直插 USB)
|
||
- ${HOME}/.android:/root/.android:ro
|
||
extra_hosts:
|
||
- "host.docker.internal:host-gateway"
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:8899/health"]
|
||
interval: 30s
|
||
timeout: 10s
|
||
retries: 3
|
||
logging:
|
||
driver: json-file
|
||
options:
|
||
max-size: "50m"
|
||
max-file: "3"
|
||
|
||
volumes:
|
||
workphone_data:
|
||
workphone_logs:
|
||
|
||
networks:
|
||
default:
|
||
name: workphone-network
|