fix: complete TRAEFIK CONFIGURATION standardization for productivity stack

- Update remaining 6 services (mealie, wordpress, gitea, dokuwiki, bookstack, mediawiki) to new format
- Enable authelia middleware for mealie and wordpress (previously disabled)
- Ensure all services except Jellyfin have authelia@docker protection
- Maintain consistent label structure with service metadata, router config, and Sablier settings
This commit is contained in:
EZ-Homelab
2026-01-23 19:24:39 -05:00
parent 576419443d
commit 4fa35461be

View File

@@ -113,21 +113,20 @@ services:
- BASE_URL=https://mealie.${DOMAIN} - BASE_URL=https://mealie.${DOMAIN}
- DB_ENGINE=sqlite - DB_ENGINE=sqlite
labels: labels:
# TRAEFIK & SABLIER CONFIGURATION # TRAEFIK CONFIGURATION
# ==========================================
# Service metadata # Service metadata
- "com.centurylinklabs.watchtower.enable=true"
- "homelab.category=productivity" - "homelab.category=productivity"
- "homelab.description=Recipe manager and meal planner" - "homelab.description=Recipe manager and meal planner"
# 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.mealie.rule=Host(`mealie.${DOMAIN}`)" - "traefik.http.routers.mealie.rule=Host(`mealie.${DOMAIN}`)"
- "traefik.http.routers.mealie.entrypoints=websecure" - "traefik.http.routers.mealie.entrypoints=websecure"
- "traefik.http.routers.mealie.tls.certresolver=letsencrypt" - "traefik.http.routers.mealie.tls.certresolver=letsencrypt"
# - "traefik.http.routers.mealie.middlewares=authelia@docker" # Disabled for family access - "traefik.http.routers.mealie.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.mealie.loadbalancer.server.port=9000" - "traefik.http.services.mealie.loadbalancer.server.port=9000"
# Sablier lazy loading (enabled by default - comment out to disable) # Sablier configuration
- "sablier.enable=true" - "sablier.enable=true"
- "sablier.group=${SERVER_HOSTNAME}-mealie" - "sablier.group=${SERVER_HOSTNAME}-mealie"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"
@@ -154,21 +153,20 @@ services:
depends_on: depends_on:
- wordpress-db - wordpress-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=Blog and website platform" - "homelab.description=Blog and website platform"
# 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.wordpress.rule=Host(`wordpress.${DOMAIN}`)" - "traefik.http.routers.wordpress.rule=Host(`wordpress.${DOMAIN}`)"
- "traefik.http.routers.wordpress.entrypoints=websecure" - "traefik.http.routers.wordpress.entrypoints=websecure"
- "traefik.http.routers.wordpress.tls.certresolver=letsencrypt" - "traefik.http.routers.wordpress.tls.certresolver=letsencrypt"
# - "traefik.http.routers.wordpress.middlewares=authelia@docker" # Disabled for public access - "traefik.http.routers.wordpress.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.wordpress.loadbalancer.server.port=80" - "traefik.http.services.wordpress.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}-wordpress" - "sablier.group=${SERVER_HOSTNAME}-wordpress"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"
@@ -226,21 +224,20 @@ services:
depends_on: depends_on:
- gitea-db - gitea-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=Self-hosted Git service" - "homelab.description=Self-hosted Git service"
# 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.gitea.rule=Host(`gitea.${DOMAIN}`)" - "traefik.http.routers.gitea.rule=Host(`gitea.${DOMAIN}`)"
- "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.entrypoints=websecure"
- "traefik.http.routers.gitea.tls.certresolver=letsencrypt" - "traefik.http.routers.gitea.tls.certresolver=letsencrypt"
- "traefik.http.routers.gitea.middlewares=authelia@docker" - "traefik.http.routers.gitea.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.gitea.loadbalancer.server.port=3000" - "traefik.http.services.gitea.loadbalancer.server.port=3000"
# Sablier lazy loading (enabled by default - comment out to disable) # Sablier configuration
- "sablier.enable=true" - "sablier.enable=true"
- "sablier.group=${SERVER_HOSTNAME}-gitea" - "sablier.group=${SERVER_HOSTNAME}-gitea"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"
@@ -280,21 +277,20 @@ 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=productivity" - "homelab.category=productivity"
- "homelab.description=File-based wiki" - "homelab.description=File-based wiki"
# 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.dokuwiki.rule=Host(`dokuwiki.${DOMAIN}`)" - "traefik.http.routers.dokuwiki.rule=Host(`dokuwiki.${DOMAIN}`)"
- "traefik.http.routers.dokuwiki.entrypoints=websecure" - "traefik.http.routers.dokuwiki.entrypoints=websecure"
- "traefik.http.routers.dokuwiki.tls.certresolver=letsencrypt" - "traefik.http.routers.dokuwiki.tls.certresolver=letsencrypt"
- "traefik.http.routers.dokuwiki.middlewares=authelia@docker" - "traefik.http.routers.dokuwiki.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.dokuwiki.loadbalancer.server.port=80" - "traefik.http.services.dokuwiki.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}-dokuwiki" - "sablier.group=${SERVER_HOSTNAME}-dokuwiki"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"
@@ -327,21 +323,20 @@ services:
depends_on: depends_on:
- bookstack-db - bookstack-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=Documentation and wiki platform" - "homelab.description=Documentation and wiki platform"
# 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.bookstack.rule=Host(`bookstack.${DOMAIN}`)" - "traefik.http.routers.bookstack.rule=Host(`bookstack.${DOMAIN}`)"
- "traefik.http.routers.bookstack.entrypoints=websecure" - "traefik.http.routers.bookstack.entrypoints=websecure"
- "traefik.http.routers.bookstack.tls.certresolver=letsencrypt" - "traefik.http.routers.bookstack.tls.certresolver=letsencrypt"
- "traefik.http.routers.bookstack.middlewares=authelia@docker" - "traefik.http.routers.bookstack.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.bookstack.loadbalancer.server.port=80" - "traefik.http.services.bookstack.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}-bookstack" - "sablier.group=${SERVER_HOSTNAME}-bookstack"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"
@@ -386,21 +381,20 @@ services:
depends_on: depends_on:
- mediawiki-db - mediawiki-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=MediaWiki platform" - "homelab.description=MediaWiki platform"
# 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.mediawiki.rule=Host(`mediawiki.${DOMAIN}`)" - "traefik.http.routers.mediawiki.rule=Host(`mediawiki.${DOMAIN}`)"
- "traefik.http.routers.mediawiki.entrypoints=websecure" - "traefik.http.routers.mediawiki.entrypoints=websecure"
- "traefik.http.routers.mediawiki.tls.certresolver=letsencrypt" - "traefik.http.routers.mediawiki.tls.certresolver=letsencrypt"
- "traefik.http.routers.mediawiki.middlewares=authelia@docker" - "traefik.http.routers.mediawiki.middlewares=authelia@docker"
# Service configuration
- "traefik.http.services.mediawiki.loadbalancer.server.port=80" - "traefik.http.services.mediawiki.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}-mediawiki" - "sablier.group=${SERVER_HOSTNAME}-mediawiki"
- "sablier.start-on-demand=true" - "sablier.start-on-demand=true"