I use this lightweight app to manage Docker projects in my home lab and I love it

6 days ago 1

I’ve been riding the self-hosting wave in my small home lab for the past few months. Thanks to my XDA colleagues and self-hosted communities, I no longer hesitate to deploy a Docker container to try out a new app. Managing and maintaining my favorite Docker containers became tough, so I employed Portainer. However, it felt limiting when I developed an affinity for Docker Compose, which allowed me to deploy containers and manageYAML files. I felt right at home when I tried Dockge as an alternative to container management for hosting Compose files.

Dockage is an open-source container management tool created by the developer of Uptime Kuma. It fits my single-host home server setup for managing all the compose files I’ve gathered for deploying Docker stacks. Primarily because I find Docker Compose quite easy to use, allowing me to pick an existing YAML file and make changes to fit my home lab environment. Meanwhile, Portainer continues to run, but I find myself rarely using it. Dockge, on the other hand, has become a go-to option to deploy even single containers besides managing YAML files for Docker stacks. It’s an immensely helpful addition that helps me quickly edit a compose file and use it to install apps with the settings I prefer.

Top docker containers for productivity

Related

Manage multiple compose YAML files on a single machine

Manage Docker stacks easily

Portainer works great on my Raspberry Pi 4B to manage the containers I run. However, for a single machine, Portainer seems like overkill to me, as I don’t intend to build a cluster in my home lab. Besides, I sought simplicity in deploying Docker containers instead of entangling in complex “docker run” commands. When I discovered Dockge, installing it was easy, just like deploying a container.

Its non-complicated interface helped me get started easily, and I transferred all the Docker-Compose files from Sublime Text on my computer to it. That gave me the relief that I could store all those files on my home server instead of leaving them on my computer. Next, I can deploy and manage full Docker stacks that are curated with similar categories of apps like media, networking, and (self-hosted) cloud apps.

I found the bare minimum options to manage full Docker stacks and even individual containers. That’s one of the few reasons why Dockge works out for me to edit and deploy containers using docker-compose.yaml files easily.

Raspberry Pi 4 computer

Storage MicroSD card slot

CPU Arm Cortex-a72 (quad-core, 1.8GHz)

Simple, lightweight, and compose-centric user interface

Create, edit, and update YAML files

Since Dockge is a single-user setup, it’s easier to manage all the files by myself. After logging in, the simple-looking interface's dark mode makes it easy to deal with all the text in the YAML files. A minimalist layout shows the number of containers with relevant compose files active on my machine. I find the Docker run to compose converter box immensely helpful, so I can try projects even when they don’t offer a compose file.

It’s easy to add a Docker-Compose YAML file meant for a single container or a stack. The freedom to create and edit the YAML files right in the interface is quite amazing. Also, the attached Terminal for each compose file shows me the errors in the same interface. It helps me tweak and adjust the options in the compose files.

When I am not sure how to add a container option to a compose file, I use the visual options to add a container and then edit its settings such as port, image, volumes, restart policy, container dependencies, and even the network. I’ve used it a number of times when I was unsure of the syntax usable in the compose files. Luckily, the Terminal also shows installation progress when deploying a stack or container, which helped me learn that I already had an MQTT server set up with Home Assistant.

The Terminal shows all the activity logs happening with the container(s), and I could simply get into one to troubleshoot it using the Bash button. Dockge offers no complicated-looking settings like logs, event management, network management, image management, or others. However, I don’t miss that since I get the easier options to restart, stop, update, or delete a full stack or container with a single click.

My favorite Docker containers for developers

Related

Summoning Portainer for full Docker management

Access the Docker graphical interface

I prefer Dockge’s simplicity in managing the Docker stacks and individual containers easily. However, I still prefer Portainer’s granular management controls for select apps that are important and carry a lot of data, like the Jellyfin container. While Portainer has always worked for me, I felt its bouquet of options was overwhelming in daily usage.

Portainer enables managing individual volumes, images, and networks. Besides, it also supports multiple users, which makes it easy to share the same configuration with others. While it also supports the compose YAML files in the stacks feature, directly editing those YAML files in the stacks is out of the question. Also, Portainer can't control the stacks and containers deployed with Dockge.

Taskcafe project manager

Related

Ideal for managing Docker in a single-host, powerful home lab

Dockge is a lightweight app that fits my requirements for running my home lab on a single machine or a NAS. It’ll be easier to migrate the Docker Compose files for all the stacks when I upgrade from an SBC-based server to a proper mini PC. Or share it with friends who nag me to help them deploy a similar setup. That said, I won’t entirely replace Portainer from my home lab setup, for it helps manage the volumes and network-related woes of data-heavy containers like Immich or Jellyfin.

Read Entire Article