# Dashboard Services # Homepage and Homarr for homelab dashboards # SABLIER SESSION DURATION: Set to 5m for testing. Increase to 30m for production in config-templates/traefik/dynamic/sablier.yml # Service Access URLs: # - Homepage: https://homepage.${DOMAIN} # - Homarr: https://homarr.${DOMAIN} services: # Homepage - Default Application Dashboard homepage: image: ghcr.io/gethomepage/homepage:latest deploy: resources: limits: cpus: '0.50' memory: 256M pids: 512 reservations: cpus: '0.25' memory: 128M container_name: homepage restart: unless-stopped # change to 'no' to enable Sablier lazy loading networks: - homelab-network - traefik-network ports: - "3000:3000" volumes: - ./homepage:/app/config - /var/run/docker.sock:/var/run/docker.sock # For Docker integration do not mount RO - /opt/stacks:/opt/stacks # To discover other stacks environment: - PUID=995 # Must be set to the docker user ID - PGID=995 # Must be set to the docker group ID - TZ=${TZ} - HOMEPAGE_ALLOWED_HOSTS=homepage.${DOMAIN} labels: # TRAEFIK CONFIGURATION # ========================================== # Service metadata - "homelab.category=dashboard" - "homelab.description=Application dashboard" # Traefik reverse proxy (comment/uncomment to disable/enable) # If Traefik is on a remote server: these labels are NOT USED; # configure external yml files in /traefik/dynamic folder instead. - "traefik.enable=true" - "traefik.http.routers.homepage.rule=Host(`homepage.${DOMAIN}`)" - "traefik.http.routers.homepage.entrypoints=websecure" - "traefik.http.routers.homepage.tls=true" - "traefik.http.routers.homepage.middlewares=authelia@docker" - "traefik.http.services.homepage.loadbalancer.server.port=3000" # Sablier lazy loading (disabled by default - uncomment to enable) # - "sablier.enable=true" # - "sablier.group=${SERVER_HOSTNAME}-homarr" # - "sablier.start-on-demand=true" # Homarr - Modern dashboard # Uses Sablier lazy loading - starts on-demand, stops after 5min inactivity homarr: image: ghcr.io/ajnart/homarr:latest deploy: resources: limits: cpus: '0.50' memory: 256M pids: 512 reservations: cpus: '0.25' memory: 128M container_name: homarr restart: no networks: - homelab-network - traefik-network ports: - "7575:7575" volumes: - ./homarr/config:/app/config/configs - ./homarr/data:/data - ./homarr/icons:/app/public/icons - /var/run/docker.sock:/var/run/docker.sock environment: - TZ=${TZ} labels: # TRAEFIK & SABLIER CONFIGURATION # ========================================== # Service metadata - "homelab.category=dashboard" - "homelab.description=Modern homelab dashboard" # Traefik reverse proxy (comment/uncomment to disable/enable) # If Traefik is on a remote server: these labels are NOT USED; # configure external yml files in /traefik/dynamic folder instead. - "traefik.enable=true" - "traefik.http.routers.homarr.rule=Host(`homarr.${DOMAIN}`)" - "traefik.http.routers.homarr.entrypoints=websecure" - "traefik.http.routers.homarr.tls=true" - "traefik.http.routers.homarr.middlewares=authelia@docker" - "traefik.http.services.homarr.loadbalancer.server.port=7575" # Sablier lazy loading (enabled by default - comment out to disable) - "sablier.enable=true" - "sablier.group=${SERVER_HOSTNAME}-homarr" - "sablier.start-on-demand=true" # DOCKGE URL CONFIGURATION x-dockge: urls: # Proxied URLs (through Traefik) - https://homepage.${DOMAIN} - https://homarr.${DOMAIN} networks: homelab-network: external: true traefik-network: external: true