# 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