I vividly remember my first encounter with Docker. The idea of using command-line tools to manage and deploy self-hosted services felt complex at the time. I diligently followed tutorials and soon began managing containers, adding and removing them, monitoring status, managing Swarm, and more. However, Portainer made me avoid the terminal interaction for the most part, as I could directly access a container, which made managing other Docker containers a painless task.
Portainer is my recommendation to anyone starting container experimentation because it visualizes the process to some extent. A GUI tool will always be better than dealing with the terminal. Although I have no gripe with Portainer, it felt too excessive after a few months. Docker became my next choice and soon overtook my container management. I'm in awe of its lightweight, single-focus approach that's easy to understand and implement. Let's explore why you should use Dockge.
Minimalist approach to managing stacks
No confusion
Dockge is a simple tool that focuses on managing containers and stacks. When I was new to Docker, I only created containers that didn’t rely on additional services. A good example of something like OmniTools that doesn’t need additional services to work. However, if you pick something like NextCloud, you’ll need a database service for it to work.
So, you are creating multiple containers, not just one, and viewing them in Portainer is a pain. Portainer doesn’t display stacks in a clear way, and it can get confusing after a while when you deal with multiple stacks. When you open the stacks page, you get the stack list but not a direct means to launch the stack via the specified port. Instead, you must open the stack, and then find the container with a relevant name and port number to load the web UI.
In Dockge, everything is consolidated into a single page. When you open a container stack, you can see its status right there on the home page and in its individual sub-pages. I can directly click on the port number to load the web UI and not bother typing the URL or digging into the settings to find it. Portainer gives weird names to containers inside stacks, and I have to look in the published ports column for the actual URL.
One more thing is the way to manage the stack configuration. In Dockge, the compose file is right there next to the stack description, and I can edit it from there, while the Portainer approach makes me hop into multiple pages and tabs to edit it.
Responsive design
Doesn’t feel sluggish
The traditional way of using Docker Compose is to create a directory, move to it, create a Compose file, and then build it. The terminal way is probably the easiest because it doesn't add any GUI burden to the system resources. Portainer can be a little slow-respoding, especially because it's a feature-rich tool.
Dockge, in my experience, loads swiftly and helps to create the compose files without worrying about the rest of the other details. I don't have a fancy dashboard or a myriad of settings and options, and I need to focus only on my compose files. The overall experience feels swift and responsive, unlike Portainer. However, Dockge consumes more memory than Portainer, and that’s something you should be aware of.
I agree that it's an advanced tool. The idea of simply typing a container name and an image and letting Portainer handle the rest is very easy, but when you have to deal with stacks, you have to use the compose files. There's no going around it, as you need both compose and environment files and have to understand how this system works.
Direct access to compose files
Easy to find and recreate
Dockge stores all your stacks' data, including the compose and env files, in the /opt/stacks directory. It labels them with meaningful folder names, and you can use those files to recreate the stacks on other systems. Portainer stores everything inside the Docker volume and is a little hard to access.
While I appreciate the fact that you can remove Portainer and still use all the stacks and containers, it doesn’t label the compose folders for stacks. So, you have to make a wild guess or open each folder until you find the correct one, and it gets exhausting after a point.
Docker management made simple
Dockge is an open-source tool by the creator who also manages Uptime Kuma. The latter shows the uptime of your Docker containers with activity charts. Dockge can also show the activity status of the running containers, but it doesn’t have granular monitoring like Uptime Kuma.
Dockge’s simple design with just a shell, stack builder, and compose file editor makes it a decent choice after you’ve mastered the art of writing and tweaking YAML files. Even if you are new to Docker Compose, you can paste the Docker run command into Dockge and generate a compose file for it.
Dockge doesn’t have a business edition, so I can access all the features without worrying about a license. However, the Portainer Community Edition is suitable for a home server setup, with ample tools for managing containers and clusters.
Portainer doesn’t have many flaws, but rather a different way of doing things that I find a tad difficult. Dockge is my current container management tool, and while it may not be as detailed or feature-rich as Portainer, it works like a charm.
