Restorable, not just stored.
Databases dumped while apps keep running. Every stack its own encrypted restic snapshot in Backblaze B2, Amazon S3, Cloudflare R2, Hetzner or Wasabi. Unchanged files are never uploaded twice.
A self-hosted web panel for one server. Paste a compose.yaml and get data folders, encrypted S3 backups with database dumps and a local domain with real HTTPS. Free, AGPL-3.0.
Paste a compose file. Stackmoor takes care of the rest.
Databases dumped while apps keep running. Every stack its own encrypted restic snapshot in Backblaze B2, Amazon S3, Cloudflare R2, Hetzner or Wasabi. Unchanged files are never uploaded twice.
Caddy gets one wildcard certificate through your DNS provider’s API – 14 providers, or an internal CA. No port forwarding.
Named volumes and image VOLUMEs become folders in the stack, owned by PUID:PGID.
nextcloud/ ├─ compose.yaml └─ data/ ├─ app-var-www-html/ └─ db_data/
New images and panel versions with release notes. A backup runs first; nothing changes until you click.
Follow one container or the whole stack. Every operation keeps its output in the history.
Every night, every stack – and proof that it can be restored.
One encrypted restic repository in your bucket holds all stacks and the panel’s own settings.
docker compose config – a broken file is never saved.compose.yaml folders you can still use from the shell..trash/.Less platform. More of what a home server needs.
| ITEM | STACKMOOR | DOCKGE | PORTAINER CE |
|---|---|---|---|
| Compose stacks in the browser | ● | ● | ● |
| App data into the stack folder, automatically | ● | ○ | ○ |
| App and database backups with restore | ● S3 / B2 | ○ | ○ |
| Local domains with certificates | ● Caddy | ○ | ○ |
| Many servers | ○ not yet | ● agents | ● |
| Several user accounts | ○ one admin | ○ one admin | ● |
| License | AGPL-3.0 | MIT | zlib |
● built in · ○ not built in — from each project’s documentation, October 2026. Out of date? Open an issue.
Up and running before your coffee cools.
ghcr.io/gadziunet/stackmoor instead.
http://<server-ip>:5001 – create the admin account.