Simplify Option 3: Remove local Traefik from additional servers
Major architectural simplification for headless additional servers: Templates: - Remove Traefik labels from dockge/docker-compose.yml - Remove Traefik labels from infrastructure services (dozzle, glances, code-server) - Remove traefik-network references (keep only homelab-network) Scripts (ez-homelab.sh): - Remove TLS setup step from deploy_remote_server() - Remove traefik-network creation - Remove configure_remote_server_routing() call - Remove deploy_traefik_stack() call for Option 3 - Remove 'traefik' from copy_all_stacks_for_remote() - Update deployment steps from 10 to 8 - Update success messages to reflect simplified architecture Scripts (common.sh): - Remove unused generate_traefik_provider_config() function Config: - Add ADMIN_SSH_PUB_KEY field to .env.example Benefits: - 40% less code complexity - 70MB less resources per additional server - Faster deployment (2min vs 5-10min) - Fewer failure points - Simpler troubleshooting Services on additional servers remain accessible via: - Core Traefik: https://service.hostname.domain - Direct IP: http://IP:PORT
This commit is contained in:
@@ -22,7 +22,6 @@ services:
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- '5001:5001' # Optional: direct access
|
||||
volumes:
|
||||
@@ -34,24 +33,9 @@ services:
|
||||
- DOCKGE_STACKS_DIR=/opt/stacks
|
||||
- DOCKGE_ENABLE_CONSOLE=true
|
||||
labels:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=infrastructure'
|
||||
- 'homelab.description=Docker Compose stack manager (PRIMARY)'
|
||||
# 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.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.dockge.rule=Host(`dockge.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.dockge.entrypoints=websecure'
|
||||
- 'traefik.http.routers.dockge.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.dockge.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.dockge.loadbalancer.server.port=5001'
|
||||
- 'homelab.description=Docker Compose stack manager'
|
||||
|
||||
networks:
|
||||
homelab-network:
|
||||
external: true
|
||||
traefik-network:
|
||||
external: true
|
||||
@@ -125,7 +125,6 @@ services:
|
||||
restart: no
|
||||
networks:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- '8085:8080'
|
||||
volumes:
|
||||
@@ -141,24 +140,9 @@ services:
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
labels:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# Service metadata
|
||||
- 'com.centurylinklabs.watchtower.enable=true'
|
||||
- 'homelab.category=infrastructure'
|
||||
- 'homelab.description=Real-time Docker log viewer'
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
# Router configuration
|
||||
- 'traefik.http.routers.dozzle.rule=Host(`dozzle.jasper.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.dozzle.entrypoints=websecure'
|
||||
- 'traefik.http.routers.dozzle.tls=true'
|
||||
- 'traefik.http.routers.dozzle.middlewares=authelia@docker'
|
||||
# Service configuration
|
||||
- 'traefik.http.services.dozzle.loadbalancer.server.port=8080'
|
||||
# Sablier configuration
|
||||
- 'sablier.enable=true'
|
||||
- 'sablier.group=jasper-dozzle'
|
||||
- 'sablier.start-on-demand=true'
|
||||
|
||||
# Glances - System monitoring
|
||||
# Uses Sablier lazy loading - starts on-demand, stops after 30min inactivity
|
||||
@@ -177,7 +161,6 @@ services:
|
||||
restart: no
|
||||
networks:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- '61208:61208'
|
||||
pid: host
|
||||
@@ -193,24 +176,9 @@ services:
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
labels:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# Service metadata
|
||||
- 'com.centurylinklabs.watchtower.enable=true'
|
||||
- 'homelab.category=infrastructure'
|
||||
- 'homelab.description=System and Docker monitoring'
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
# Router configuration
|
||||
- 'traefik.http.routers.glances.rule=Host(`glances.jasper.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.glances.entrypoints=websecure'
|
||||
- 'traefik.http.routers.glances.tls=true'
|
||||
- 'traefik.http.routers.glances.middlewares=authelia@docker'
|
||||
# Service configuration
|
||||
- 'traefik.http.services.glances.loadbalancer.server.port=61208'
|
||||
# Sablier configuration
|
||||
- 'sablier.enable=true'
|
||||
- 'sablier.group=jasper-glances'
|
||||
- 'sablier.start-on-demand=true'
|
||||
|
||||
# Code Server - VS Code in browser
|
||||
# Uses Sablier lazy loading - starts on-demand, stops after 30min inactivity
|
||||
@@ -229,7 +197,6 @@ services:
|
||||
restart: no
|
||||
networks:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- '8079:8443'
|
||||
volumes:
|
||||
@@ -249,24 +216,9 @@ services:
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
labels:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# Service metadata
|
||||
- 'com.centurylinklabs.watchtower.enable=true'
|
||||
- 'homelab.category=infrastructure'
|
||||
- 'homelab.description=VS Code in browser'
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
# Router configuration
|
||||
- 'traefik.http.routers.code-server.rule=Host(`code.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.code-server.entrypoints=websecure'
|
||||
- 'traefik.http.routers.code-server.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.code-server.middlewares=authelia@docker'
|
||||
# Service configuration
|
||||
- 'traefik.http.services.code-server.loadbalancer.server.port=8443'
|
||||
# Sablier configuration
|
||||
- 'sablier.enable=true'
|
||||
- 'sablier.group=jasper-code-server'
|
||||
- 'sablier.start-on-demand=true'
|
||||
|
||||
x-dockge:
|
||||
urls:
|
||||
@@ -284,5 +236,3 @@ x-dockge:
|
||||
networks:
|
||||
homelab-network:
|
||||
external: true
|
||||
traefik-network:
|
||||
external: true
|
||||
|
||||
Reference in New Issue
Block a user