45 lines
1003 B
YAML
45 lines
1003 B
YAML
services:
|
|
backend:
|
|
build: ./server
|
|
container_name: dashboard-backend
|
|
expose:
|
|
- "3001" # Remove public port, keep internal only
|
|
environment:
|
|
- HOST_BROWSE_ROOT=${HOST_BROWSE_ROOT}
|
|
- HOST_MOUNT_ROOT=/host
|
|
- DASHBOARD_DB_PATH=/app/data/dashboard.db
|
|
volumes:
|
|
- type: bind
|
|
source: ./server
|
|
target: /app
|
|
- db_data:/app/data
|
|
- type: bind
|
|
source: ${HOST_BROWSE_ROOT}
|
|
target: /host
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
build: ./dashboard
|
|
container_name: dashboard-frontend
|
|
expose:
|
|
- "5173" # Remove public port, keep internal only
|
|
depends_on:
|
|
- backend
|
|
restart: unless-stopped
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: dashboard-nginx
|
|
ports:
|
|
- "80:80" # Single public entry point
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
depends_on:
|
|
- backend
|
|
- frontend
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
db_data:
|
|
|