# Dockge Stack # Docker Compose Stack Manager # Place in /opt/dockge/docker-compose.yml # 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 # Service Access URLs: # - Dockge: https://dockge.kelinreij.duckdns.org services: # Dockge - Docker Compose Stack Manager (PRIMARY - preferred over Portainer) # Access at: https://dockge.kelinreij.duckdns.org # 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.http.routers.dockge.rule=Host(`dockge.kelinreij.duckdns.org`)" - "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