Files
Dashboard/docker-compose.yml.backup

78 lines
2.1 KiB
Plaintext

version: "3.8"
services:
dashboard:
build:
context: .
dockerfile: Dockerfile
container_name: atlas-dashboard
restart: unless-stopped
# ports:
# - "3001:3000" # Commented out - using Traefik for routing
environment:
# Node Environment
- NODE_ENV=production
# Docker API
- DOCKER_HOST=${DOCKER_HOST}
# UniFi Controller
- UNIFI_HOST=${UNIFI_HOST}
- UNIFI_PORT=${UNIFI_PORT}
- UNIFI_USERNAME=${UNIFI_USERNAME}
- UNIFI_PASSWORD=${UNIFI_PASSWORD}
# Synology NAS
- SYNOLOGY_HOST=${SYNOLOGY_HOST}
- SYNOLOGY_PORT=${SYNOLOGY_PORT}
- SYNOLOGY_USERNAME=${SYNOLOGY_USERNAME}
- SYNOLOGY_PASSWORD=${SYNOLOGY_PASSWORD}
# Grafana
- NEXT_PUBLIC_GRAFANA_HOST=${NEXT_PUBLIC_GRAFANA_HOST}
- GRAFANA_API_KEY=${GRAFANA_API_KEY}
# API Configuration
- NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL}
networks:
- dashboard-network
# Resource limits
deploy:
resources:
limits:
cpus: "1"
memory: 512M
reservations:
cpus: "0.5"
memory: 256M
# Health check
healthcheck:
test:
[
"CMD-SHELL",
"wget --quiet --tries=1 --spider http://localhost:3000 || exit 1",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Traefik labels
labels:
- "traefik.enable=true"
- "traefik.http.routers.dashboard.rule=Host(`dashboard.guapo613.beer`)"
- "traefik.http.routers.dashboard.entrypoints=websecure"
- "traefik.http.routers.dashboard.tls=true"
- "traefik.http.services.dashboard.loadbalancer.server.port=3000"
- "traefik.http.middlewares.dashboard-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.dashboard-http.rule=Host(`dashboard.guapo613.beer`)"
- "traefik.http.routers.dashboard-http.entrypoints=web"
- "traefik.http.routers.dashboard-http.middlewares=dashboard-redirect"
networks:
dashboard-network:
driver: bridge