#======================================================================# # Homarr + Dash. - Ultimate Homelab Dashboard Stack # # Designed for Nginx Proxy Manager (NPM) # # Repo: gitea.lemonlink.eu/homelab/homarr-dashboard # #======================================================================# services: #------------------------------------------------------------------# # Homarr 1.0 - Modern Dashboard # #------------------------------------------------------------------# homarr: container_name: homarr image: ghcr.io/homarr-labs/homarr:beta restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock - ./homarr/appdata:/appdata environment: # Generate with: openssl rand -hex 32 - SECRET_ENCRYPTION_KEY=${SECRET_ENCRYPTION_KEY} # Database configuration (SQLite default) - DB_URL=/appdata/db/homarr.db # Authentication settings - AUTH_PROVIDERS=${AUTH_PROVIDERS:-credentials} # Logging - NODE_ENV=production ports: - '${HOMARR_PORT:-7575}:7575' networks: - dashboard-network - npm-network # Connect to NPM network for reverse proxy depends_on: - dash #------------------------------------------------------------------# # Dash. - System Monitoring # #------------------------------------------------------------------# dash: container_name: dash image: mauricenino/dashdot:latest restart: unless-stopped privileged: true volumes: - /:/mnt/host:ro environment: # Widget customization - DASHDOT_ENABLE_CPU_TEMPS=true - DASHDOT_ALWAYS_SHOW_PERCENTAGES=true - DASHDOT_ENABLE_STORAGE_SPLIT_VIEW=true - DASHDOT_PAGE_TITLE=System Overview # Network speed test (every 4 hours) - DASHDOT_SPEED_TEST_INTERVAL=${DASH_SPEED_TEST_INTERVAL:-240} # Theme - dark to match lemonlink.eu - DASHDOT_WIDGET_LIST=os,cpu,storage,ram,network - DASHDOT_OS_LABEL_LIST=brand,os,arch,up_since - DASHDOT_CPU_LABEL_LIST=brand,model,cores,threads,frequency - DASHDOT_STORAGE_LABEL_LIST=brand,size,type - DASHDOT_RAM_LABEL_LIST=brand,size,type,frequency - DASHDOT_NETWORK_LABEL_LIST=type,speed_up,speed_down,interface_speed ports: - '${DASH_PORT:-3001}:3001' networks: - dashboard-network - npm-network # Connect to NPM network for reverse proxy #------------------------------------------------------------------# # Watchtower - Auto-update containers # #------------------------------------------------------------------# watchtower: container_name: watchtower image: containrrr/watchtower:latest restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WATCHTOWER_CLEANUP=true - WATCHTOWER_POLL_INTERVAL=${WATCHTOWER_INTERVAL:-86400} - WATCHTOWER_INCLUDE_STOPPED=true - WATCHTOWER_NOTIFICATIONS=${WATCHTOWER_NOTIFICATIONS:-} command: --interval ${WATCHTOWER_INTERVAL:-86400} homarr dash networks: - dashboard-network networks: dashboard-network: driver: bridge npm-network: external: true # Created by NPM