Self-Hosted Dockge: Manage Docker Compose Stacks Without Losing Your YAML

You have eleven docker-compose.yml files in /opt/stacks. Updating Immich means cd, pull, up -d, hope you picked the right folder. Portainer's stack deploy spinner has been going for four minutes. You know the commands work in SSH — you just want a UI that doesn't fight you.

Dockge is from the same developer as Uptime Kuma. ~23k GitHub stars, and a self-hosted manager built for one job: your compose.yaml stacks. Create, edit, start, stop, restart, pull images, watch terminal output in real time — without Portainer swallowing your files into its database.

What it actually does

Dockge is a compose-first control panel. Stacks live as normal files on disk — default /opt/stacks/{stack-name}/compose.yaml. Dockge doesn't kidnap them. SSH in and run docker compose manually anytime; Dockge and the CLI see the same files.

Stack lifecycle. Create stacks from the UI, edit compose in an interactive editor, start/stop/restart, update images with live pull progress streamed to the browser. Reactive UI — if you've used Uptime Kuma, the UX will feel familiar.

Web terminal. Shell into the stack context from the browser when you need to debug without opening a separate SSH tab.

Docker run → compose. Paste a docker run ... command; Dockge converts it to compose format. Handy when copying install instructions from random GitHub READMEs.

Multi-agent (1.4+). Manage stacks on multiple Docker hosts from one Dockge interface — homelab box plus a Canadian VPS, one dashboard.

Scan stacks folder. Already have compose files scattered on disk? Move them into the stacks directory, hit scan, they appear in the list.

Built on Docker Compose V2. Port 5001. Not a Portainer replacement for single-container management or network editing — Dockge assumes everything is a compose stack.

Dockge vs Coolify vs Dokploy vs Portainer

We've covered heavier deploy platforms:

  • Coolify / Dokploy — full PaaS: Git push deploys, Traefik, databases, one-click app catalog
  • Dokku — git-push Heroku-style on one VPS

Dockge is the lightweight lane. You already write compose files (or want to). You don't need CI/CD pipelines — you need a pretty UI to pull, up, and down without typos. Pick Coolify when developers push from Git. Pick Dockge when you're a homelabber with twelve YAML folders and want Louis Lam's UI polish on top.

Portainer does everything including single containers. Dockge does compose better and simpler. Many people run both — Portainer for the odd one-off container, Dockge for daily stack ops.

Why self-host?

Files stay yours. Compose on disk, version in git, backup with rsync. No proprietary stack format locked in a UI database.

Canadian VPS friendly. Single container, Docker socket mount, low overhead. Sits on the same box it manages.

Honest scope. Dockge won't pretend to be Kubernetes. That's a feature if your mental model is "one folder per app, one compose file each."

What running it takes

Official install:

mkdir -p /opt/stacks /opt/dockge && cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -o compose.yaml
docker compose up -d

UI at http://your-server:5001. Mount /var/run/docker.sock and map /opt/stacks host-to-container with matching paths — getting the volume path wrong writes data somewhere unexpected (the README warns about this explicitly).

Set PUID/PGID in the Dockge compose env so new stack files aren't owned by root. Put HTTPS and auth in front if exposed beyond VPN — Docker socket access is root-equivalent.

Who it's for (and who should skip it)

Good fit: homelabbers with multiple compose stacks, anyone migrating off Portainer's stack UI, teams who want Uptime-Kuma-quality UX for compose ops, multi-host Docker admins using agents.

Maybe skip it: you want git-triggered deploys and automatic TLS routing — Coolify or Dokploy. You only run one docker run — Portainer or plain CLI is enough. You need Windows host support — not yet per the README.

Hosting it in Canada

Dockge manages the stacks on whatever box it sits on. We deploy it on Canadian Docker hosting alongside your apps — socket access scoped carefully, TLS on port 5001 or behind nginx, backups on /opt/stacks.

Tell us how many stacks you're running — we'll set up Dockge before you typo docker compose in the wrong directory again.

Tags:
  • Dockge
  • Docker
  • Compose
  • Homelab
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.