Files
NaviGlassServer/docker-compose.yml
2025-12-31 15:42:30 +08:00

78 lines
2.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: '3.8'
services:
aiglass:
build:
context: .
dockerfile: Dockerfile
container_name: aiglass
restart: unless-stopped
# 端口映射
ports:
- "8081:8081" # Web 服务
- "12345:12345/udp" # IMU UDP
# 环境变量(从 .env 文件读取)
environment:
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
- BLIND_PATH_MODEL=${BLIND_PATH_MODEL:-model/yolo-seg.pt}
- OBSTACLE_MODEL=${OBSTACLE_MODEL:-model/yoloe-11l-seg.pt}
- YOLOE_MODEL_PATH=${YOLOE_MODEL_PATH:-model/yoloe-11l-seg.pt}
- ENABLE_TTS=${ENABLE_TTS:-true}
- TTS_INTERVAL_SEC=${TTS_INTERVAL_SEC:-1.0}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
# 卷挂载
volumes:
- ./model:/app/model:ro # 模型文件(只读)
- ./recordings:/app/recordings # 录制文件
- ./music:/app/music:ro # 音频文件(只读)
- ./voice:/app/voice:ro # 语音文件(只读)
- ./static:/app/static:ro # 静态文件(只读)
- ./templates:/app/templates:ro # 模板文件(只读)
# GPU 支持(需要 nvidia-docker
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
# 依赖服务(可选,如需添加数据库等)
# depends_on:
# - redis
# 网络模式
network_mode: bridge
# 健康检查
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# 可选:添加 Redis 用于缓存
# redis:
# image: redis:7-alpine
# container_name: aiglass-redis
# restart: unless-stopped
# ports:
# - "6379:6379"
# volumes:
# - redis-data:/data
# 可选:数据卷
# volumes:
# redis-data:
# 可选:自定义网络
# networks:
# aiglass-network:
# driver: bridge