Docketeer 5.0 — What’s New?

Tre Hultzen
5 min readOct 6, 2021

--

We, the Docketeer team, have been working on some wonderful new features for the developer tool, Docketeer. For those new to this application, this article will include a brief overview. We will cover what each major version has added, before delving into what the brand new 5.0 brings to the table.

Firstly, the tech stack:

  • Front End — React and Redux
  • Desktop Application — Electron
  • Bundler — Webpack
  • Notifications — Twilio and Slack
  • Data Visualizing — Chart.js
  • Testing — Jest and Enzyme
  • Server — Express
  • Database — PostgreSQL
  • Security — Bcrypt
  • TypeScript

An Overview of Docketeer:

Docketeer is a platform and GUI that works with the Docker Desktop application. Docker Desktop is a helpful application itself, but Docketeer strives to take it to the next level. The GUI is convenient for monitoring health metrics, running and stopping containers and setting up notifications. Docketeer works with the Twilio API and the Slack API to send notifications when CPU or Memory thresholds are met. These are configurable along with the list of watched containers.

From Initial Launch to Version 3.0:

Docketeer has numerous handy features, starting with the login page. When a user signs in, it is as one of three roles: system admin, admin, and user. Upon logging in, the first page the user has access to is the settings tab. The system admin is responsible for creating users and assigning roles, the admins are responsible for managing containers and settings, and users are only able to view metrics.

The settings tab on Docketeer

Within this tab, admins have access to numerous settings. The first setting is for configuring Twilio notifications. Next, admins can customize the notification frequency, and metric monitoring frequency.

The users tab on Docketeer

Within the users tab, admins can view other users and settings, but only the system admins can use this tab to change privileges. This is also where the system admin can create new users.

Next will be the containers tab. This allows users to view graphs of metrics and monitor container health. This is also where admins can run or stop current containers.

The containers tab on Docketeer

Next in the list is the images tab. In this section users can view stored images. Admins can run or delete images, and can pull down an image repository from Docker Hub.

The images tab on Docketeer

Next up is the metrics tab. This is where users can view container CPU and memory usage as well as usage history. It also shows the current Net/Block IO. This allows for the easy monitoring of container health.

The metrics tab, showing the pie charts
The metrics tab, showing historic resource usage of selected containers

On the Docker compose tab, admins can compose YML files without the need of the command line. It displays the container ID, driver, scope, and when it was created.

The Docker Compose tab on Docketeer

Docketeer also has a system prune feature which removes any unused containers, images, volumes, and networks. This process is swift and aims to make long term usage convenient.

Now for Additions in 4.0:

Security:

Security was a priority in this version, so the Docketeer team revamped the backend logic to utilize a unique token system for system admins and Bcrypt for password encryption. Inspired by the CIA security model, upon system admin login a unique token is generated and is required for all functionality in the application. Bcrypt has a hashing system that takes advantage of uniquely generated salts, which improve the security of storing admin passwords. This prevents brute force hacking attempts and rainbow table attacks. While there may be more advanced security methods, these updates have significantly improved Docketeer’s holistic safety.

Metrics:

Version 4.0 also improved upon the displayed metrics. The change here is that the block IO data was given a dynamic graph that displays both the read and written data over time. Block size is an important metric as it can impact the processing performance of a containers environment. This change is particularly important for large or intensive container monitoring.

And Now, Docketeer 5.0:

Slack Webhooks:

In version 5.0, scalability in a team setting was the main focus. To accomplish this, the in place event emitter was revamped to work with Slack webhooks. This means that a team’s channel can receive notifications when CPU or memory thresholds have been met. This means that whole teams can access valuable data in a timely manner without needing to have the application up on every machine.

Volume History:

Docketeer 5.0 introduces a new tab in the GUI, Volume History.

The volume history tab in Docketeer

This allows users access to valuable information of all current and past containers. The information available to the user is container names, container status, and status of the volume. It even includes a search feature to prevent scrolling through pages of information should Docketeer be used in a large scale.

Lastly, Docketeer has been partially refactored into TypeScript with the configuration and important files set up.

Checkout Docketeer on GitHub!

See the official website here!

Article co-authored by:

--

--