89 lines
3.3 KiB
YAML
89 lines
3.3 KiB
YAML
#======================================================================#
|
|
# 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
|