112 lines
4.0 KiB
YAML
112 lines
4.0 KiB
YAML
#======================================================================#
|
|
# Portainer Stack - Homarr Dashboard #
|
|
# Repo: git.lemonlink.eu/impulsivefps/homarr-dashboard #
|
|
# Storage: /opt/homarr #
|
|
#======================================================================#
|
|
#
|
|
# DEPLOY OPTIONS:
|
|
# Option A: With NPM on same machine - uncomment npm-network lines
|
|
# Option B: NPM on different machine - use host ports (default)
|
|
# Option C: Cloudflare Tunnel - use cloudflared sidecar
|
|
#
|
|
#------------------------------------------------------------------#
|
|
|
|
version: '3.8'
|
|
|
|
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:ro
|
|
- /opt/homarr/appdata:/appdata
|
|
environment:
|
|
- SECRET_ENCRYPTION_KEY=${SECRET_ENCRYPTION_KEY}
|
|
- DB_URL=/appdata/db/homarr.db
|
|
- AUTH_PROVIDERS=${AUTH_PROVIDERS:-credentials}
|
|
- NODE_ENV=production
|
|
ports:
|
|
# Expose on host for remote NPM or direct access
|
|
- '7575:7575'
|
|
networks:
|
|
- homarr-network
|
|
# Uncomment if NPM is on SAME machine:
|
|
# - npm-network
|
|
depends_on:
|
|
- dash
|
|
|
|
#------------------------------------------------------------------#
|
|
# Dash. - System Monitoring #
|
|
#------------------------------------------------------------------#
|
|
dash:
|
|
container_name: dash
|
|
image: mauricenino/dashdot:latest
|
|
restart: unless-stopped
|
|
privileged: true
|
|
volumes:
|
|
- /:/mnt/host:ro
|
|
environment:
|
|
- DASHDOT_ENABLE_CPU_TEMPS=true
|
|
- DASHDOT_ALWAYS_SHOW_PERCENTAGES=true
|
|
- DASHDOT_ENABLE_STORAGE_SPLIT_VIEW=true
|
|
- DASHDOT_PAGE_TITLE=System Overview
|
|
- DASHDOT_SPEED_TEST_INTERVAL=${DASH_SPEED_TEST_INTERVAL:-240}
|
|
- 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:
|
|
# Expose on host for remote NPM or direct access
|
|
- '3001:3001'
|
|
networks:
|
|
- homarr-network
|
|
# Uncomment if NPM is on SAME machine:
|
|
# - npm-network
|
|
|
|
#------------------------------------------------------------------#
|
|
# Watchtower - Auto-update containers #
|
|
#------------------------------------------------------------------#
|
|
watchtower:
|
|
container_name: watchtower
|
|
image: containrrr/watchtower:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- WATCHTOWER_CLEANUP=true
|
|
- WATCHTOWER_POLL_INTERVAL=${WATCHTOWER_INTERVAL:-86400}
|
|
- WATCHTOWER_INCLUDE_STOPPED=true
|
|
- WATCHTOWER_LABEL_ENABLE=true
|
|
command: --interval ${WATCHTOWER_INTERVAL:-86400}
|
|
networks:
|
|
- homarr-network
|
|
|
|
#------------------------------------------------------------------#
|
|
# (OPTIONAL) Cloudflare Tunnel - For external access without NPM #
|
|
#------------------------------------------------------------------#
|
|
# Uncomment this section to use Cloudflare Tunnel instead of NPM
|
|
#
|
|
# cloudflared:
|
|
# container_name: homarr-cloudflared
|
|
# image: cloudflare/cloudflared:latest
|
|
# restart: unless-stopped
|
|
# command: tunnel --no-autoupdate run --token ${CF_TUNNEL_TOKEN}
|
|
# networks:
|
|
# - homarr-network
|
|
# depends_on:
|
|
# - homarr
|
|
# - dash
|
|
|
|
networks:
|
|
homarr-network:
|
|
driver: bridge
|
|
# Uncomment if NPM is on SAME machine:
|
|
# npm-network:
|
|
# external: true
|