2026-07-30 11:23:50 +08:00
|
|
|
x-logging: &default-logging
|
|
|
|
|
driver: json-file
|
|
|
|
|
options:
|
|
|
|
|
max-size: "10m"
|
|
|
|
|
max-file: "5"
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
backend:
|
|
|
|
|
build:
|
|
|
|
|
context: ./backend
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
container_name: dashboard-backend
|
|
|
|
|
env_file:
|
|
|
|
|
- .env
|
|
|
|
|
environment:
|
|
|
|
|
# 容器内固定 8000,与 nginx proxy_pass 和 ports 映射一致
|
|
|
|
|
- PORT=8000
|
|
|
|
|
- APP_ENV=${APP_ENV:-production}
|
|
|
|
|
ports:
|
|
|
|
|
- "8083:8000"
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
logging: *default-logging
|
|
|
|
|
networks:
|
|
|
|
|
- audio-network
|
|
|
|
|
extra_hosts:
|
|
|
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
|
volumes:
|
|
|
|
|
- /data/projects/source:/data/projects/source
|
2026-08-13 16:48:05 +08:00
|
|
|
# 素材库上传目录:容器内 /app/uploads ↔ 宿主机 /data/project/dashboard/frontend/dist/uploads
|
|
|
|
|
# (与 frontend nginx 静态直出同一目录;若该目录被删除重建,需 force-recreate backend 重新挂载)
|
2026-08-11 16:45:25 +08:00
|
|
|
- /data/project/dashboard/frontend/dist/uploads:/app/uploads
|
2026-07-30 11:23:50 +08:00
|
|
|
|
|
|
|
|
frontend:
|
|
|
|
|
image: nginx:alpine
|
|
|
|
|
container_name: dashboard-frontend
|
|
|
|
|
ports:
|
|
|
|
|
- "8082:80"
|
|
|
|
|
volumes:
|
|
|
|
|
- /data/project/dashboard/frontend/dist:/usr/share/nginx/html:ro
|
|
|
|
|
- /data/project/dashboard/frontend/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
|
|
|
depends_on:
|
|
|
|
|
- backend
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
logging: *default-logging
|
|
|
|
|
networks:
|
|
|
|
|
- audio-network
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
audio-network:
|
|
|
|
|
driver: bridge
|