Managing Docker Compose Stacks with Dockge

Dockge interface listing running Docker compose stacks

Once Dockge is installed, everyday Docker work turns into a few clicks. This tutorial walks through the full stack lifecycle in Dockge: creating, editing, controlling, updating and importing compose stacks — while everything stays a normal file on disk.

Creating your first stack

  1. Click + Compose in the sidebar.
  2. Give the stack a name, e.g. uptime-kuma. Dockge creates /opt/stacks/uptime-kuma/.
  3. Write or paste the service definition in the interactive editor:
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - ./data:/app/data
  1. Press Deploy. The pull and start progress streams live into the page.

Controlling a stack

Open any stack to get the control row: Start, Stop, Restart, Update and Delete, plus per-service logs. The Update action pulls newer images for the stack and recreates its containers.

Editing compose.yaml safely

The editor validates YAML as you type. Because the file on disk is the single source of truth, any change you make in a terminal appears in Dockge too. That means you can keep using docker compose commands over SSH whenever it's faster — nothing gets out of sync.

Importing existing stacks

Move each project folder that contains a compose.yaml into /opt/stacks:

mv ~/projects/nextcloud /opt/stacks/

The stack appears in the sidebar automatically. If it doesn't, check the troubleshooting guide — the usual cause is a mismatched stacks path.

Handy extras while you work

  • Browser Console — available in Dockge, but disabled by default in 1.5.0 for security; enable it only when required.
  • docker run converter — turn any README's docker run snippet into compose with the converter.
  • Agents — control stacks on other machines too, covered in the multi-agent guide.

Keep the Compose file as the source of truth

Dockge's strongest workflow is the ability to use the same Compose files from both the browser and the normal docker compose CLI. Store each stack in a clearly named directory, keep secrets out of the Compose file when possible, and use an .env file or a secret-management approach appropriate to your environment.

About the browser Console in Dockge 1.5.0

Dockge includes a Console feature, but release 1.5.0 disables it by default for security. The upstream release notes say it can be enabled with DOCKGE_ENABLE_CONSOLE=true if you understand the risk. A published security advisory affected the Console in versions up to 1.4.2, with 1.5.0 listed as patched.

For routine administration, SSH plus the Docker Compose CLI remains a straightforward alternative and does not require enabling the browser Console.

Import existing stacks carefully

The official README instructs users to stop an existing stack, move its Compose file into /opt/stacks/<stackName>/compose.yaml (or the equivalent configured stacks directory), and then use Dockge's “Scan Stacks Folder” action. Preserve volume paths and environment files when moving a stack.

Official references

Technical details in this guide are checked against upstream sources. Verify release-sensitive commands before changing a production host.