# 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: # 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' networks: homelab-network: external: true traefik-network: external: true