This is an automated archive made by the Lemmit Bot.
The original was posted on /r/selfhosted by /u/fsteff on 2023-08-07 00:20:56.
After a good long vacation with my family, and several evenings of work, here's a much improved new version of CargoDesk. I've tried to make it as flexible as possible, and for now, it's a perfect fit for my needs (and slightly more).
I spend some time making better documentation, and now I hope it's going to be easy and useable for everyone.
Note: It's not label-compatible with version 0.1 - but it's easily updated.
With the release of the PoC (version 0.1) I was asked to describe in simple terms what this is, so here are some more words:
CargoDesk is a web application that provides a dynamic dashboard for Docker Containers. Developed using Python, Flask, Gunicorn, and Gevent, it provides an easy-to-use interface for displaying links to Docker instances and user-defined links. This dynamic functionality is made possible through Docker labels associated with running containers.
CargoDesk's simple web interface is defined through environment variables and Docker labels, giving you complete control over the displayed content. It is equipped to handle multiple instances running on different ports with unique label matches. To assist with debugging and monitoring of your Docker system, CargoDesk also includes a simple feature for error visualization when unexpected container behaviors are detected.
CargoDesk allows for additional customization through CSS and jinja2 templates. It can be configured to auto-refresh the page, with a specified interval between screen refreshes. With its dynamic nature, users can easily add or modify site components, such as icons, notes, and URLs, and create new sections as needed.
With its label-centric approach, the configuration is easy. Add or adjust the Docker labels on your containers, and CargoDesk adjusts accordingly. This offers an easy way to specify a container's role or link it to a specific service. You can even add multiple labels to a single container, allowing you to create complex and detailed interfaces without the need for manual coding.
The installation process of CargoDesk is straightforward. It comes with both a simple and an advanced docker-compose.yml file, which allows you to easily set up some test services to get a feel for it. For a container to show up on CargoDesk, you only need to attach a single label to it - although more labels will improve the useability.
CargoDesk's site layout includes the following elements: Site Header, Site Navigation, Section Header, Cards Section, Section Footer, and Site Footer. All parts of these are configured through labels on your containers, providing a highly customizable and flexible tool for Docker management.
CargoDesk v1.0.0 introduced several new and renamed labels to increase the flexibility to customize your inventory dashboard.
Github site:
Availavle on docker hub:
(The previous version is still available on the Docker hub by specifying the '0.1' tag)