edge-deployment/docker-compose.yml

68 lines
1.9 KiB
YAML
Raw Normal View History

2025-11-11 15:22:41 +08:00
# docker-compose.yml (生产运行版)
services:
# 1. 'edge-proxy-dev' 改为 'edge-proxy'
edge-proxy:
# 2. (已删除) 不再使用 'build:',我们拉取已构建的镜像
# 3. (已更改) 'image:' 指向您的 Gitea 注册表
image: 192.168.0.75:3000/guanyuankai/bonus-edge-proxy:latest
container_name: edge-proxy-prod
platform: linux/arm64
network_mode: "host"
privileged: true
devices:
- /dev/ttyS7:/dev/ttyS7
- /dev/ttyS9:/dev/ttyS9
- /dev/snd:/dev/snd
# --- VPU/NPU/RGA/GPU 硬件访问 ---
- /dev/mpp_service:/dev/mpp_service
- /dev/rga:/dev/rga
- /dev/dri:/dev/dri
- source: /sys/bus/iio/devices/iio:device0
target: /sys/bus/iio/devices/iio:device0
group_add:
- "20"
- "44"
- "110"
- "29"
volumes:
# 4. (已删除) - .:/app 源码挂载已移除
# 5. (已添加) 持久化配置目录
# 这解决了 /app/config/config.json 找不到的问题
# 您需要在 docker-compose.yml 旁边创建一个 'prod_config' 目录
- ./prod_config:/app/config
- /tmp/.X11-unix:/tmp/.X11-unix:rw
environment:
- DISPLAY=$DISPLAY
dns:
- 8.8.8.8
- 114.114.114.114
# 6. (已删除) 'command: sleep infinity' 已移除
# 7. (已添加) 确保 mqtt-broker 先启动
# 这解决了 "Failed to connect to MQTT broker" 的问题
depends_on:
- mqtt-broker
media-gateway:
image: bluenviron/mediamtx:latest
container_name: media-gateway
network_mode: "host"
privileged: true
volumes:
- ./mediamtx.yml:/mediamtx.yml
mqtt-broker:
image: eclipse-mosquitto:2.0
container_name: mqtt-broker
restart: unless-stopped
ports:
- "1883:1883"
volumes:
- ./mosquitto/config:/mosquitto/config
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log