Dockge: Why I switched from Portainer to this lightweight tool (and recommend it to you)
Published on 2025-12-31
If you do self-hosting, run a home lab, or manage a small VPS, you’re probably familiar with Portainer. It’s the de-facto standard: a powerful, all-encompassing “Swiss Army knife” for Docker.
But let’s be honest: sometimes the Swiss Army knife is too heavy when you just need to peel an apple.
Recently I discovered Dockge — a tool from the same developer as the popular Uptime Kuma. It made me completely rethink how I manage containers. In this article I’ll explain why Dockge can be the perfect replacement for Portainer in many scenarios.
The problem with Portainer
I love Portainer. It can do everything: Kubernetes, Swarm, image, network and volume management. But there is one fundamental feature that often annoys: it hides configuration.
When you create a “Stack” in Portainer, your docker-compose.yaml lives in its internal database. If Portainer crashes or the database gets corrupted — configs are at risk. Of course, you can connect a Git repository, but that adds an extra step to a simple process.
What is Dockge?
Dockge (pronounced “Dodge” — from Docker + Dodge) is a reactive, modern and incredibly lightweight manager for docker-compose.yaml.
Its main philosophy: Your files are the source of truth.
Unlike Portainer, Dockge doesn’t hide configs in its DB. It simply reads and manages folders with compose.yaml on disk. Remove Dockge — containers and configs remain in place, neatly organized in folders.
5 reasons to switch to Dockge
Here are the key features that made me migrate:
File structure is the foundation
Dockge works directly with the filesystem.- You create the
/opt/stacksfolder. - Dockge scans it.
- You manually create
/opt/stacks/my-appwithcompose.yamlinside — Dockge instantly sees the new stack. - You edit the file in the terminal (vim/nano) — changes are immediately reflected in the UI.
- You create the
docker run → Compose converter
Killer feature! How many times have you found a GitHub project with a hugedocker run ...command?
In Dockge you paste that command into a special field — and you get a ready valid YAML. No manual conversion.Interactive editor
Hybrid approach: left — raw YAML code, right — visual fields (ports, volumes, env). Change one — the other syncs. It works incredibly smoothly.Lightweight and fast (Reactive UI)
If you’ve used Uptime Kuma, you know that pleasant interface. Dockge is built on the same technologies: instant response, minimal clicks, no delays.Multi-server support (agents)
Dockge lets you manage multiple Docker hosts from a single interface while keeping setup simple.
Comparison: Dockge vs Portainer
| Characteristic | Portainer | Dockge |
|---|---|---|
| Target audience | Enterprise, DevOps, clusters | HomeLab, single/multiple servers, enthusiasts |
| Complexity | High (many menus and sections) | Low (everything on one screen) |
| Config storage | Internal DB (or Git) | Regular files on disk |
| K8s/Swarm support | Yes, excellent | No, only Docker Compose |
| Editing | UI only | UI + terminal (full synchronization) |
| Resources | Requires more RAM/CPU | Very lightweight |
How to install Dockge?
Installation is a vivid demonstration of the project’s philosophy: minimal steps.
# 1. Make dirs
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
# 2. Download offical compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
# 3. Starting
docker compose up -d
Open http://ip-of-your-server:5001 — and everything is ready!
Tip: If you’re migrating from Portainer and your compose files are already on disk — just point Dockge to that folder and it will immediately pick up the stacks.
Conclusion: Is it worth switching?
Stay on Portainer if:
- You manage Kubernetes or Docker Swarm clusters.
- You need advanced RBAC (roles and access control).
- You require detailed GUI control over individual images and volumes.
Switch to Dockge if:
- You have one or several VPS/home servers.
- You like order in the filesystem.
- You want the interface to help rather than get in the way.
- You’re tired of Portainer’s “heaviness” for running a dozen containers.
Dockge brought back the joy of configuring containers for me. It’s a tool that does one thing, but does it perfectly — manages docker-compose files. Try it yourself — maybe your Portainer will go into a well-deserved retirement too.
🛠 Guide: Smooth migration from Portainer to Dockge
Many are stopped by the fear of breaking working services. Relax! Containers are isolated from the management tool, migration goes smoothly.
Step 0: Preparation and backup
Make sure where container data is stored (volumes).
- Bind mounts (
/path/on/host:/path/in/container) — data on disk, safe. - Named volumes — inside Docker, won’t disappear when recreating.
Make a backup of important data or a server snapshot.
Step 1: Export configuration from Portainer
- Go to Stacks → select the stack → Editor.
- Copy the entire YAML to the clipboard.
Step 2: Stop in Portainer
- Stop the stack.
- Optional: delete the stack later, when you’re sure everything works in Dockge (do not delete volumes!).
Step 3: Deploy in Dockge
Open Dockge (
http://ip:5001).Click + Compose → enter the stack name.
Paste the copied YAML.
Check volume paths:
- Relative paths (./data) will be relative to the stack folder in Dockge (
/opt/stacks/<name>/). - I recommend using absolute paths or moving data.
- Relative paths (./data) will be relative to the stack folder in Dockge (
Save → Deploy.
Single containers (not from stacks)?
- Compose → paste the
docker run ...command into the converter field.
- Compose → paste the
- Dockge will create the YAML automatically → Deploy.
Done! Now your configs are in plain text files, not in a “black box” database.
Good luck with the migration!
Related reviews
Everything went well; the contractor responded quickly to questions and helped resolve the issue. Thanks!
visupSTUDIO · VPS setup, server setup
2025-12-16 · ⭐ 5/5
Everything went well, the contractor responded quickly to questions and helped resolve the issue. Thank you!
Everything was done promptly. We'll use them again. Highly recommend!
rotant · VPS setup, server setup
2025-12-10 · ⭐ 5/5
Everything was done promptly. We'll continue to use their services. I recommend!
Everything was done promptly. Mikhail is always available. We'll continue to contact him.
samstiray · VPS setup, server setup
2025-12-10 · ⭐ 5/5
Everything was done promptly. Mikhail is always available. We'll continue to reach out
Mikhail is a professional! He's shown this in practice more than once.
Vadim_U · VPS setup, server configuration
A settled customer2025-12-03 · ⭐ 5/5
Mikhail, a professional! Not the first time he's demonstrated this in practice.
Huge thanks to Mikhail — I contacted him about a very urgent server setup issue because I'm not strong in that area and needed to show the site to a client. Quick response, no-nonsense help, and very fast! Wishing you many orders and a better rating. Thank you so much!
Ekleo · VPS setup, server setup
A very powerful buyer2025-11-28 · ⭐ 5/5
Many thanks to Mikhail — I reached out to him with a very urgent issue regarding server configuration, since I'm not very skilled in this myself and needed to show the site to the client. Quick response, help without unnecessary words and very fast! I wish you many orders and a better rating! Thank you so much!
Thanks, that was quick and helpful.
Bodanov · VPS setup, server setup
Power buyer2025-11-28 · ⭐ 5/5
Thanks, that helped quickly.