Docketeer XIV: Coming Home!

Grant Schussler
4 min readAug 23, 2023

--

Co-Authored By: Grant Schussler, Jacob Melendez, Tristan Keester, Tristan Krause

Over the past ten years, Docker and Kubernetes have maintained their prominence as the containerization and orchestration tools responsible for driving the paradigm of scalable, manageable, and resilient applications. With that scalability comes layers of complexity every step of the way. Docker and Kubernetes themselves have developed extensible API and GUI solutions that navigate the difficulties of deploying applications at scale. One application that contributes to that environment is Docketeer.

Docketeer is an open-source GUI that enhances Docker’s container management and networking capabilities, along with speedy metric aggregation and visualization. Docketeer allows developers to quickly find information on Docker containers, images, volumes, and more. Docketeer also provides a centralized metrics dashboard to monitor metrics related to containers and host machines.

What’s new in Docketeer v14.0?

We have brought Docketeer to the Docker Desktop Extension environment! Within the past few years, Docker Desktop has developed into a robust containerization interface with powerful tools and consistent updates, thanks to an active Docker team and open-source community. Therefore, we felt that Docketeer’s strengths could be accentuated when used in tandem with Docker Desktop. Along with this major development, our team (as with those before ours), has continued to thoroughly debug and refactor the codebase in order to enhance the maintainability of the application, as well as optimize its performance.

Docker Desktop Extension 🐳

From the moment we decided to work with Docketeer, we considered the redundant functionality within the application that already existed in Docker Desktop. Our inclination was to transition that redundancy into a healthy dependency. The feature-set of Docker Desktop allowed us to not only reduce our image size by 55%, from 2GB to just over 900MB, but also to provide faster and easier access to the application through a 46% reduction in compose time. User login has been removed in the extension in order to streamline that experience, as it was not necessary for what Docketeer provides.

File restructuring 🗂️

A significant issue with Docketeer in the past has been the large image size. This has been a detriment to user workflow due to the amount of time it takes to download and run the containers for the application. When we began converting Docketeer to an extension, we decided to perform a major file restructuring in order to allow more modular Dockerfile and docker-compose file structures. This served to make the process of testing containerization more clear and performant, providing a noticeably positive impact on the development experience and a 64% reduction in file size.

Multi-platform Images 📚

To further cement Docketeer’s alignment with the concept of containerization, multi-platform images and the scripting to enable their creation have been added to both the browser and extension versions of the application. Developers should be able to use their operating system of choice when developing applications. This imaging solution serves to make Docketeer a much more approachable application by removing some of the consistent bugs that users and developers have had to deal with in the past.

Bug fixes and Other Changes 🐞

Removing the worries of operating system restrictions has served to address many bugs within the application. Notable bug fixes include removal of some deprecated functionality within the Grafana-powered metrics dashboard, remediation of authentication errors with the dashboard, and a repaired Volume History section.

The GUI has been updated with more condensed navigation and additional metrics have been added to the Containers section. Improved TypeScript coverage has set a solid foundation for future work on the application.

Looking to the future 🚀

Previously, integration with Kubernetes clusters was added for the browser version of Docketeer. Due to time constraints, we were unable to fully port this functionality to the extension. We aim to finish bringing Kubernetes monitoring to the Docketeer extension in the near future!

Feel free to reach out with any questions or comments at our GitHub, LinkedIn, or website!

The Docketeer 14.0 Team:

Grant Schussler: LinkedIn || GitHub

Jacob Melendez: LinkedIn || GitHub

Tristan Keester: LinkedIn || GitHub

Tristan Krause: LinkedIn || GitHub

--

--