fix: standardize remaining TRAEFIK CONFIGURATION labels
- Update infrastructure services (dozzle, glances, code-server) to new format - Update dashboards (homarr) to new format - Update utilities (backrest, duplicati) to new format - Update productivity (nextcloud) to new format - Add authelia middleware to all services except Jellyfin - Ensure consistent label structure across all stacks
This commit is contained in:
@@ -84,21 +84,20 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=dashboard"
|
- "homelab.category=dashboard"
|
||||||
- "homelab.description=Modern homelab 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.homarr.rule=Host(`homarr.${DOMAIN}`)"
|
- "traefik.http.routers.homarr.rule=Host(`homarr.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.homarr.entrypoints=websecure"
|
- "traefik.http.routers.homarr.entrypoints=websecure"
|
||||||
- "traefik.http.routers.homarr.tls=true"
|
- "traefik.http.routers.homarr.tls=true"
|
||||||
- "traefik.http.routers.homarr.middlewares=authelia@docker"
|
- "traefik.http.routers.homarr.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.homarr.loadbalancer.server.port=7575"
|
- "traefik.http.services.homarr.loadbalancer.server.port=7575"
|
||||||
# Sablier lazy loading (enabled by default - comment out to disable)
|
# Sablier configuration
|
||||||
- "sablier.enable=true"
|
- "sablier.enable=true"
|
||||||
- "sablier.group=${SERVER_HOSTNAME}-homarr"
|
- "sablier.group=${SERVER_HOSTNAME}-homarr"
|
||||||
- "sablier.start-on-demand=true"
|
- "sablier.start-on-demand=true"
|
||||||
|
|||||||
@@ -149,21 +149,20 @@ services:
|
|||||||
- DOZZLE_TAILSIZE=300
|
- DOZZLE_TAILSIZE=300
|
||||||
- DOZZLE_FILTER=status=running
|
- DOZZLE_FILTER=status=running
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=infrastructure"
|
- "homelab.category=infrastructure"
|
||||||
- "homelab.description=Real-time Docker log viewer"
|
- "homelab.description=Real-time Docker log viewer"
|
||||||
# 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.dozzle.rule=Host(`dozzle.${SERVER_HOSTNAME}.${DOMAIN}`)"
|
- "traefik.http.routers.dozzle.rule=Host(`dozzle.${SERVER_HOSTNAME}.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.dozzle.entrypoints=websecure"
|
- "traefik.http.routers.dozzle.entrypoints=websecure"
|
||||||
- "traefik.http.routers.dozzle.tls=true"
|
- "traefik.http.routers.dozzle.tls=true"
|
||||||
- "traefik.http.routers.dozzle.middlewares=authelia@docker"
|
- "traefik.http.routers.dozzle.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.dozzle.loadbalancer.server.port=8085"
|
- "traefik.http.services.dozzle.loadbalancer.server.port=8085"
|
||||||
# Sablier lazy loading (enabled by default - comment out to disable)
|
# Sablier configuration
|
||||||
- "sablier.enable=true"
|
- "sablier.enable=true"
|
||||||
- "sablier.group=${SERVER_HOSTNAME}-dozzle"
|
- "sablier.group=${SERVER_HOSTNAME}-dozzle"
|
||||||
- "sablier.start-on-demand=true"
|
- "sablier.start-on-demand=true"
|
||||||
@@ -196,21 +195,20 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- GLANCES_OPT=-w
|
- GLANCES_OPT=-w
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=infrastructure"
|
- "homelab.category=infrastructure"
|
||||||
- "homelab.description=System and Docker monitoring"
|
- "homelab.description=System and Docker monitoring"
|
||||||
# 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.glances.rule=Host(`glances.${SERVER_HOSTNAME}.${DOMAIN}`)"
|
- "traefik.http.routers.glances.rule=Host(`glances.${SERVER_HOSTNAME}.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.glances.entrypoints=websecure"
|
- "traefik.http.routers.glances.entrypoints=websecure"
|
||||||
- "traefik.http.routers.glances.tls=true"
|
- "traefik.http.routers.glances.tls=true"
|
||||||
- "traefik.http.routers.glances.middlewares=authelia@docker"
|
- "traefik.http.routers.glances.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.glances.loadbalancer.server.port=61208"
|
- "traefik.http.services.glances.loadbalancer.server.port=61208"
|
||||||
# Sablier lazy loading (enabled by default - comment out to disable)
|
# Sablier configuration
|
||||||
- "sablier.enable=true"
|
- "sablier.enable=true"
|
||||||
- "sablier.group=${SERVER_HOSTNAME}-glances"
|
- "sablier.group=${SERVER_HOSTNAME}-glances"
|
||||||
- "sablier.start-on-demand=true"
|
- "sablier.start-on-demand=true"
|
||||||
@@ -247,21 +245,20 @@ services:
|
|||||||
- PASSWORD=${CODE_SERVER_PASSWORD}
|
- PASSWORD=${CODE_SERVER_PASSWORD}
|
||||||
- SUDO_PASSWORD=${CODE_SERVER_SUDO_PASSWORD}
|
- SUDO_PASSWORD=${CODE_SERVER_SUDO_PASSWORD}
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=infrastructure"
|
- "homelab.category=infrastructure"
|
||||||
- "homelab.description=VS Code in browser"
|
- "homelab.description=VS Code in browser"
|
||||||
# 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.code-server.rule=Host(`code.${DOMAIN}`)"
|
- "traefik.http.routers.code-server.rule=Host(`code.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.code-server.entrypoints=websecure"
|
- "traefik.http.routers.code-server.entrypoints=websecure"
|
||||||
- "traefik.http.routers.code-server.tls.certresolver=letsencrypt"
|
- "traefik.http.routers.code-server.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.routers.code-server.middlewares=authelia@docker"
|
- "traefik.http.routers.code-server.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.code-server.loadbalancer.server.port=8443"
|
- "traefik.http.services.code-server.loadbalancer.server.port=8443"
|
||||||
# Sablier lazy loading (enabled by default - comment out to disable)
|
# Sablier configuration
|
||||||
- "sablier.enable=true"
|
- "sablier.enable=true"
|
||||||
- "sablier.group=${SERVER_HOSTNAME}-code-server"
|
- "sablier.group=${SERVER_HOSTNAME}-code-server"
|
||||||
- "sablier.start-on-demand=true"
|
- "sablier.start-on-demand=true"
|
||||||
|
|||||||
@@ -57,21 +57,20 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- nextcloud-db
|
- nextcloud-db
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=productivity"
|
- "homelab.category=productivity"
|
||||||
- "homelab.description=File sync and collaboration"
|
- "homelab.description=File sync and collaboration"
|
||||||
# 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${DOMAIN}`)"
|
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.nextcloud.entrypoints=websecure"
|
- "traefik.http.routers.nextcloud.entrypoints=websecure"
|
||||||
- "traefik.http.routers.nextcloud.tls.certresolver=letsencrypt"
|
- "traefik.http.routers.nextcloud.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.routers.nextcloud.middlewares=authelia@docker"
|
- "traefik.http.routers.nextcloud.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
||||||
# Sablier lazy loading (enabled by default - comment out to disable)
|
# Sablier configuration
|
||||||
- "sablier.enable=true"
|
- "sablier.enable=true"
|
||||||
- "sablier.group=${SERVER_HOSTNAME}-nextcloud"
|
- "sablier.group=${SERVER_HOSTNAME}-nextcloud"
|
||||||
- "sablier.start-on-demand=true"
|
- "sablier.start-on-demand=true"
|
||||||
|
|||||||
@@ -42,26 +42,23 @@ services:
|
|||||||
- BACKREST_CONFIG=/config/config.json
|
- BACKREST_CONFIG=/config/config.json
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
labels:
|
labels:
|
||||||
# ==========================================
|
# TRAEFIK CONFIGURATION
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
|
||||||
# ==========================================
|
|
||||||
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
- homelab.category=utilities
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- homelab.description=Backup management with restic
|
- "homelab.category=utilities"
|
||||||
|
- "homelab.description=Backup management with restic"
|
||||||
# Traefik reverse proxy (uncomment to enable)
|
- "traefik.enable=true"
|
||||||
- traefik.enable=true
|
# Router configuration
|
||||||
- traefik.http.routers.backrest.rule=Host(`backrest.${DOMAIN}`)
|
- "traefik.http.routers.backrest.rule=Host(`backrest.${DOMAIN}`)"
|
||||||
- traefik.http.routers.backrest.entrypoints=websecure
|
- "traefik.http.routers.backrest.entrypoints=websecure"
|
||||||
- traefik.http.routers.backrest.tls.certresolver=letsencrypt
|
- "traefik.http.routers.backrest.tls.certresolver=letsencrypt"
|
||||||
- traefik.http.routers.backrest.middlewares=authelia@docker
|
- "traefik.http.routers.backrest.middlewares=authelia@docker"
|
||||||
- traefik.http.services.backrest.loadbalancer.server.port=9898
|
# Service configuration
|
||||||
|
- "traefik.http.services.backrest.loadbalancer.server.port=9898"
|
||||||
# Sablier lazy loading (uncomment to enable)
|
# Sablier configuration
|
||||||
- sablier.enable=true
|
- "sablier.enable=true"
|
||||||
- sablier.group=${SERVER_HOSTNAME}-backrest
|
- "sablier.group=${SERVER_HOSTNAME}-backrest"
|
||||||
- sablier.start-on-demand=true
|
- "sablier.start-on-demand=true"
|
||||||
- "x-dockge.url=https://backrest.${DOMAIN}"
|
- "x-dockge.url=https://backrest.${DOMAIN}"
|
||||||
- "x-dockge.url=https://backrest.${DOMAIN}"
|
- "x-dockge.url=https://backrest.${DOMAIN}"
|
||||||
# Duplicati - Backup solution
|
# Duplicati - Backup solution
|
||||||
@@ -85,19 +82,18 @@ services:
|
|||||||
- PGID=${PGID:-1000}
|
- PGID=${PGID:-1000}
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
labels:
|
labels:
|
||||||
# TRAEFIK & SABLIER CONFIGURATION
|
# TRAEFIK CONFIGURATION
|
||||||
# ==========================================
|
|
||||||
# Service metadata
|
# Service metadata
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
- "homelab.category=utilities"
|
- "homelab.category=utilities"
|
||||||
- "homelab.description=Backup software with encryption"
|
- "homelab.description=Backup software with encryption"
|
||||||
# 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.enable=true"
|
||||||
|
# Router configuration
|
||||||
- "traefik.http.routers.duplicati.rule=Host(`duplicati.${DOMAIN}`)"
|
- "traefik.http.routers.duplicati.rule=Host(`duplicati.${DOMAIN}`)"
|
||||||
- "traefik.http.routers.duplicati.entrypoints=websecure"
|
- "traefik.http.routers.duplicati.entrypoints=websecure"
|
||||||
- "traefik.http.routers.duplicati.tls.certresolver=letsencrypt"
|
- "traefik.http.routers.duplicati.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.routers.duplicati.middlewares=authelia@docker"
|
- "traefik.http.routers.duplicati.middlewares=authelia@docker"
|
||||||
|
# Service configuration
|
||||||
- "traefik.http.services.duplicati.loadbalancer.server.port=8200"
|
- "traefik.http.services.duplicati.loadbalancer.server.port=8200"
|
||||||
# Form.io - Form builder
|
# Form.io - Form builder
|
||||||
# Uncomment and configure if formio/formio image becomes available
|
# Uncomment and configure if formio/formio image becomes available
|
||||||
|
|||||||
Reference in New Issue
Block a user