The previous commit removed labels from templates, breaking Option 2 (Core Server) deployments. This commit restores the proper architecture: Templates (docker-compose files): - Restore all Traefik labels to dockge/docker-compose.yml - Restore all Traefik labels to infrastructure services (dozzle, glances, code-server) - Restore traefik-network references - Templates now work correctly for Option 2 (Core Server) Scripts (ez-homelab.sh): - Rewrite configure_remote_server_routing() to strip labels for Option 3 - Re-add configure_remote_server_routing() call to deploy_remote_server() - Add as Step 5 (after copying stacks, before deploying them) - Update remaining step numbers (6-9) Architecture flow: Option 2 (Core Server): - Uses templates as-is with Traefik labels - Local Traefik discovers services via Docker labels - Services accessible at https://service.domain Option 3 (Additional Server): - Copies templates with labels (Step 4) - Strips out labels and traefik-network (Step 5) - Deploys labelless services with exposed ports (Steps 6-8) - Core Traefik routes via manual HTTP configs to IP:PORT - Services accessible at https://service.hostname.domain
51 lines
1.7 KiB
YAML
51 lines
1.7 KiB
YAML
# Dockge Stack
|
|
# RESTART POLICY GUIDE:
|
|
# - unless-stopped: Core infrastructure services that should always run
|
|
# - no: Services with Sablier lazy loading (start on-demand)
|
|
# - See individual service comments for specific reasoning
|
|
|
|
services:
|
|
# Dockge - Docker Compose Stack Manager
|
|
# Stack management interface should always run for container management
|
|
dockge:
|
|
image: louislam/dockge:1
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '0.50'
|
|
memory: 256M
|
|
pids: 512
|
|
reservations:
|
|
cpus: '0.25'
|
|
memory: 128M
|
|
container_name: dockge
|
|
restart: unless-stopped
|
|
networks:
|
|
- homelab-network
|
|
- traefik-network
|
|
ports:
|
|
- '5001:5001' # Optional: direct access
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /opt/stacks:/opt/stacks # Dockge manages stacks in this directory
|
|
- ./data:/app/data
|
|
- /usr/bin/docker:/usr/bin/docker:ro # Mount docker binary for CLI access
|
|
environment:
|
|
- DOCKGE_STACKS_DIR=/opt/stacks
|
|
- DOCKGE_ENABLE_CONSOLE=true
|
|
labels:
|
|
- 'homelab.category=infrastructure'
|
|
- 'homelab.description=Docker Compose stack manager'
|
|
- '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'
|
|
|
|
networks:
|
|
homelab-network:
|
|
external: true
|
|
traefik-network:
|
|
external: true |