Refactor docker-compose configurations and add new services

- Reorganize Authelia configuration files
- Add new dynamic routing files for Traefik
- Update various service docker-compose files
- Remove outdated templates and scripts
This commit is contained in:
Kelin
2026-02-03 22:20:09 -05:00
parent ed17bf295a
commit e2a654b3f4
62 changed files with 1871 additions and 12061 deletions

View File

@@ -16,7 +16,7 @@ services:
- homelab-network
- traefik-network
ports:
- "9000:9000"
- '9000:9000'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer-data:/data
@@ -26,15 +26,15 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=Docker container management UI (Alternative to Dockge)"
- 'traefik.enable=true"
- 'traefik.docker.network=traefik-network"
- 'traefik.http.routers.portainer.rule=Host(`portainer.${DOMAIN}`)"
- 'traefik.http.routers.portainer.entrypoints=websecure"
- 'traefik.http.routers.portainer.tls.certresolver=letsencrypt"
- 'traefik.http.routers.portainer.middlewares=authelia@docker"
- 'traefik.http.services.portainer.loadbalancer.server.port=9000"
- 'homelab.category=alternatives'
- 'homelab.description=Docker container management UI (Alternative to Dockge)'
- 'traefik.enable=true'
- 'traefik.docker.network=traefik-network'
- 'traefik.http.routers.portainer.rule=Host(`portainer.${DOMAIN}`)'
- 'traefik.http.routers.portainer.entrypoints=websecure'
- 'traefik.http.routers.portainer.tls.certresolver=letsencrypt'
- 'traefik.http.routers.portainer.middlewares=authelia@docker'
- 'traefik.http.services.portainer.loadbalancer.server.port=9000'
# Authentik - Alternative SSO/Identity Provider with Web UI
# Access at: https://authentik.${DOMAIN}
@@ -50,7 +50,7 @@ services:
- homelab-network
- traefik-network
ports:
- "9000:9000"
- '9000:9000'
volumes:
- /opt/stacks/authentik/media:/media
- /opt/stacks/authentik/custom-templates:/templates
@@ -66,15 +66,15 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=SSO/Identity provider with web UI (Alternative to Authelia)"
- 'traefik.enable=true"
- 'traefik.docker.network=traefik-network"
- 'traefik.http.routers.authentik.rule=Host(`authentik.${DOMAIN}`)"
- 'traefik.http.routers.authentik.entrypoints=websecure"
- 'traefik.http.routers.authentik.tls.certresolver=letsencrypt"
- 'traefik.http.routers.authentik.middlewares=authelia@docker"
- 'traefik.http.services.authentik.loadbalancer.server.port=9000"
- 'homelab.category=alternatives'
- 'homelab.description=SSO/Identity provider with web UI (Alternative to Authelia)'
- 'traefik.enable=true'
- 'traefik.docker.network=traefik-network'
- 'traefik.http.routers.authentik.rule=Host(`authentik.${DOMAIN}`)'
- 'traefik.http.routers.authentik.entrypoints=websecure'
- 'traefik.http.routers.authentik.tls.certresolver=letsencrypt'
- 'traefik.http.routers.authentik.middlewares=authelia@docker'
- 'traefik.http.services.authentik.loadbalancer.server.port=9000'
depends_on:
- authentik-db
- authentik-redis
@@ -104,8 +104,8 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=Authentik background worker"
- 'homelab.category=alternatives'
- 'homelab.description=Authentik background worker'
depends_on:
- authentik-db
- authentik-redis
@@ -128,10 +128,10 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=Authentik database"
- 'homelab.category=alternatives'
- 'homelab.description=Authentik database'
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${AUTHENTIK_DB_USER}"]
test: ['CMD-SHELL', 'pg_isready -U ${AUTHENTIK_DB_USER}']
interval: 10s
timeout: 5s
retries: 5
@@ -151,10 +151,10 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=Authentik cache and messaging"
- 'homelab.category=alternatives'
- 'homelab.description=Authentik cache and messaging'
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
test: ['CMD-SHELL', 'redis-cli ping | grep PONG']
interval: 10s
timeout: 3s
retries: 5
@@ -170,7 +170,7 @@ services:
- homelab-network
- traefik-network
ports:
- "32400:32400"
- '32400:32400'
volumes:
- ./plex/config:/config
- /mnt/media:/media:ro # Large media files on separate drive
@@ -202,17 +202,17 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=alternatives"
- 'homelab.description=Alternative media streaming server to Jellyfin"
- 'homelab.category=alternatives'
- 'homelab.description=Alternative media streaming server to Jellyfin'
# Traefik labels - NO Authelia for app access
- 'traefik.enable=true"
- 'traefik.docker.network=traefik-network"
- 'traefik.http.routers.plex.rule=Host(`plex.${DOMAIN}`)"
- 'traefik.http.routers.plex.entrypoints=websecure"
- 'traefik.http.routers.plex.tls.certresolver=letsencrypt"
- 'traefik.http.services.plex.loadbalancer.server.port=32400"
- "x-dockge.url=https://plex.${DOMAIN}"
- "x-dockge.url=https://plex.${DOMAIN}"
- 'traefik.enable=true'
- 'traefik.docker.network=traefik-network'
- 'traefik.http.routers.plex.rule=Host(`plex.${DOMAIN}`)'
- 'traefik.http.routers.plex.entrypoints=websecure'
- 'traefik.http.routers.plex.tls.certresolver=letsencrypt'
- 'traefik.http.services.plex.loadbalancer.server.port=32400'
- 'x-dockge.url=https://plex.${DOMAIN}'
- 'x-dockge.url=https://plex.${DOMAIN}'
volumes:
portainer-data: