Dockle

Your home-lab stacks, one window, a proper login.

Dockle is a self-hosted Docker Compose stack manager for home labs - every stack, its logs and its terminal in one window, with security taken seriously from the first line. Works with Docker or Podman.

! Built for home labs on your own network - not hardened for public VPS hosting (yet).

Features

Everything in one window

Every stack, its logs, its editor and its terminal on a single page. No hunting through tabs.

Updates itself, plainly

A dot in the top bar - green up to date, amber a new version's out. Click to pull it, click again to restart onto it. No terminal, ever.

A login that means it

Server-side sessions, rate-limited sign-in, optional 2FA, encrypted settings. One secret to set, ever.

Adopts what you run today

Dockle scans your system and pulls existing compose projects and plain containers under management - nothing gets restarted.

Errors you can't miss

Live log streaming with errors in red, a persistent activity log, and optional email alerts when something breaks.

Prune with confidence

Clean unused images, containers, networks and build cache one-by-one or together. Volumes always show exactly what goes first.

Backups that restore

Daily automatic backups, one-click restore that's itself reversible, and a download-everything zip. No lock-in, ever.

Redeploy a stuck container

Recreates a stack from its compose file and whatever image's already pulled - fixes a wedged container without a full re-pull.

Archive, don't just delete

A stack with nothing running can be archived - config kept, out of the way - or deleted for good along with every image it used.

One click to the real thing

Open a stack's actual web UI in a new tab - its Tailscale Serve address if set up, otherwise whatever address got you to Dockle.

Install

# paste straight into Dockge, Portainer, or any compose tool - change
# the SECRET_KEY line below to your own random string, then deploy
services:
  dockle:
    image: ghcr.io/lightmorphic/dockle:latest
    container_name: dockle
    restart: unless-stopped
    cap_drop: [ALL]
    cap_add: [CHOWN, SETUID, SETGID, DAC_OVERRIDE]
    security_opt: [no-new-privileges:true]
    ports:
      - "127.0.0.1:4000:5001"
    environment:
      SECRET_KEY: change-this-to-your-own-long-random-string
      TZ: Europe/London
      # real host path of the data/ folder above - only matters for
      # per-stack backups; skip if you don't use that feature
      DOCKLE_DATA_HOST_PATH: /opt/dockle/data
    volumes:
      - ./data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/stacks:/opt/stacks

Then

Open http://your-server:4000, create the admin account, and adopt what's already running. Updating later is a plain docker compose pull && docker compose up -d - or the dot in Dockle's own top bar. Prefer a terminal, the full file with comments, or Podman? The real compose.yaml and the runbook cover all three.

Optional: the dockle-companion

Unlocks host OS update checks and per-stack Tailscale Serve toggles - the only two things Dockle can't do through the Docker socket alone. It's the sole part of Dockle that needs root on the actual server rather than just Docker access, which is why it's a separate step you opt into, not something bundled in by default. Skip it entirely and everything else works exactly the same.

# one click in Settings does the whole thing - installs and reconnects
# or, manually (its files live in the repo, not the image):
git clone https://github.com/lightmorphic/dockle /tmp/dockle-src
cd /tmp/dockle-src/companion && sudo sh install.sh

Common questions

Does Dockle need root on my server?

Only for two things Docker access alone can't reach - host OS update checks and Tailscale Serve - and only if you opt into the small companion service. Everything else runs through the same Docker socket any container manager needs.

Does updating Dockle mean rebuilding it?

No. Dockle ships as a pre-built image - updating is docker compose pull && docker compose up -d, or the dot in its own top bar. No git, no local build, ever.

Can I run Dockle on a public VPS?

Not yet recommended. Dockle is built and hardened for a machine on your own network, reached over Tailscale or your LAN - it hasn't been hardened for direct internet exposure.

What happens to my stacks if I stop using Dockle?

Nothing. Every stack stays a plain folder with a real compose file, unchanged by Dockle managing it - docker compose or any other tool works on it at any time.

Need something built?

Need something built?

Lightmorphic is the small studio behind Dockle and a handful of other self-hosted, no-lock-in tools. If you've got a web app, an internal tool, or a self-hosted service that needs building, get in touch and we'll take a look.

Get in touch at lightmorphic.com