• Stars
    star
    862
  • Rank 52,908 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 4 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Docker & Kubernetes developer tool to manage containers & visualize both cluster and container metrics

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo
https://docketeer.io/

Docketeer is a developer-friendly application that provides a single interface for container and network management as well as metric visualization.
Explore the code & contribute here!ยป
See the extension version's code here!ยป


View Demo ยท Report Bug ยท Request Feature



Table of Contents


  1. About Docketeer
  2. Installation
  3. In Development
  4. Contributing
  5. License
  6. Authors
  7. Troubleshooting

About The Project

DockerTypescriptJavaScriptReactReduxRTKNodeExpressPostgresMySQLGrafanaPrometheusHelmKubernetesJestViteGitHTML5CSS3SASSD3


Logo

Docketeer is an open source initiative comprising contributions from dozens of talented and passionate software engineers. Our application provides a simple interface to manage Docker resources & visualize both host and container metric data, along with Kubernetes cluster data. Docketeer is a containerized application that can be deployed alongside your application cluster with hardly any effort. To learn more about our application and how to get started, keep reading!

(back to top)

Features:

  • Docketeer is a Docker developer tool that's available as an open-source project on GitHub or as an extension on Docker Desktop.
  • It aims to simplify the development process for projects that use Docker containers.
  • Allows you to filter through both your running and stopped container logs.
  • Docketeer provides an easy-to-use GUI for managing Docker containers, images, and networks.
  • With Docketeer, developers can quickly create, start, stop, and delete containers, as well as manage Docker networks and images.
  • Docketeer includes a variety of features, including automatic container naming, customizable configurations, and support for multiple Docker Compose - files.
  • Docketeer offers full networking capabilities: create and manage networks without touching the terminal.
  • Docketeer offers Node and kubelet metric visualizations for your Kubernetes clusters, along with an easy set up process to get your cluster connected to the application.
  • Docketeer also offers built-in support for popular development frameworks like Rails and Node.js, making it easy to get started with these technologies.
  • Docketeer is highly customizable, and developers can configure it to suit their specific needs.
  • It's a community-maintained project, with frequent updates and bug fixes.
  • Docketeer is licensed under the MIT license, meaning it can be used and modified freely, even for commercial projects.

(back to top)

Installation

The local configuration for Docketeer was setup to be as simple as possible for the end-user.
Follow the steps below to get started with Docketeer.

Prerequisites:

You must have Docker Desktop installed and running!

STEP 1 โ€” Clone the repository

git clone https://github.com/open-source-labs/Docketeer.git

STEP 2 โ€” Docker compose up

Making sure you're in your Docketeer directory, run:

docker compose up

STEP 3 โ€” Navigate to localhost:4000 to sign-up & login!

http://localhost:4000

(back to top)

Setting up Docketeer to work with a Kubernetes cluster

Prerequisites: you must be running a Kubernetes cluster/kube, have kubectl and helm installed.

Open up a new tab in your terminal. Run

npm install

Docketeer is using d3-sankey for data visualization, which is currently not being actively maintained. Running npm install would install patch-package and make sure to input y when you see the following prompt:

Need to install the following packages:
  [email protected]
Ok to proceed? (y) 

and

npm run dev

Then, navigate to localhost:4001/api/k8:

If you haven't set up Prometheus-Operator with us before, click the first button to install.
Otherwise, you can skip the first button and go on with the next two!
P.S. Make sure to keep this terminal open!

In Development

  • Support for more development frameworks and languages, such as Next.JS.
  • Expand Docker networking capabilities within Docketeer to provide more sophisticated networking configurations and better interoperability with other network tools.
  • Develop more advanced container configuration options within Docketeer, such as load balancing or high availability setups.
  • Integrate Docketeer with popular development tools like IDEs or continuous integration/delivery systems for better automation and workflow efficiency.
  • Add support for more advanced Docker features, like multi-stage builds or Docker secrets, to expand the capabilities of Docketeer.
  • Develop integration with cloud services like AWS or Azure to simplify the deployment of Docker-based applications.
  • Implement the Kubernetes metric monitoring from the browser version to the extension version.
  • Display additional metrics for Kubernetes clusters.

See Troubleshooting and open issues for a list of known issues.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repository and create a pull request. You can also simply open an issue describing your contribution. Don't forget to give the project a star! Thanks again!

  1. Fork the project and clone onto your local machine
  2. Create your Feature Branch (git checkout -b feature/NewFeatureName)
  3. Commit your Changes (git commit -m '(feature/bugfix/style/etc.): [commit message here]')
  4. Push to the Branch (git push origin feature/NewFeatureName)
  5. Open a Pull Request
  6. Create an issue on GitHub (as mentioned above!)

Read our contributing guide for more information on how to purpose bugfixes and improvements to Docketeer.


Read More


License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Authors

(back to top)

Show Your Support

Please โญ๏ธ this project if you found it helpful, thank you!


Troubleshooting:


WSL

There are some known issues running Docketeer through WSL. Using WindowsOS, MacOS, or Linux is recommended.


Linux

If you are runing Docketeer in Linux and encounter the followeing errors, you might need to change some of your permissions.

grafana        |Error: โœ— failed to connect to database: failed to create SQLite database file "/var/lib/grafana/grafana.db": open /var/lib/grafana/grafana.db: permission denied
prometheus     | ts=2023-07-05T23:48:01.612Z caller=query_logger.go:113 level=error component=activeQueryTracker msg="Failed to create directory for logging active queries"

prometheus     | ts=2023-07-05T23:48:01.613Z caller=query_logger.go:91 level=error component=activeQueryTracker msg="Error opening query log file" file=/prometheus/data/queries.active err="open data/queries.active: no such file or directory"

prometheus     | panic: Unable to create mmap-ed active query log

In order to do this, you need to change the permissions of data in ./imageConfigs/grafana and promDate under ./imageConfigs/prometheus.

go to grafana under ./imageConfigs and change permission of data

cd ./imageConfigs/grafana
chmod 771 data/

go to prometheus under ./imageConfigs and change permission of promDate

cd ./imageConfigs/prometheus
chmod 777 promData/

Ad-blocker

If you are encountering the following error and are running an ad-blocker, disable your ad-blocker

ERR_BLOCKED_BY_CLIENT

Network Capacity

By default, Docker can only create 31 networks. If you try to create more, you would encounter the following error:

Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

To expand network capacity, add the following to /etc/docker/daemon.json

{
  "default-address-pools" : [
    {
      "base" : "172.17.0.0/12",
      "size" : 20
    },
    {
      "base" : "192.168.0.0/16",
      "size" : 24
    }
  ]
}

For details, please read The definitive guide to docker's default-address-pools option

More Repositories

1

Svelvet

๐ŸŽ› A Svelte library for building dynamic, infinitely customizable node-based user interfaces and flowcharts
Svelte
2,540
star
2

OverVue

Prototyping Tool For Vue Devs ้€‚็”จไบŽVue็š„ๅŽŸๅž‹ๅทฅๅ…ท
Vue
2,463
star
3

Reactime

Developer tool for time travel debugging and performance monitoring in React applications.
TypeScript
2,165
star
4

PreVue

๐ŸŽจ All in One Prototyping Tool For Vue Developers.
Vue
1,389
star
5

Spearmint

Testing, simplified. || An inclusive, accessibility-first GUI for generating clean, semantic Javascript tests in only a few clicks of a button.
TypeScript
1,289
star
6

SvelteStorm

SvelteStorm is an open-source IDE with a built-in Debugging window for viewing and debugging your Svelte project in real-time
Svelte
1,007
star
7

Swell

Swell: API development tool that enables developers to test endpoints served over streaming technologies including Server-Sent Events (SSE), WebSockets, HTTP2, GraphQL, gRPC, and tRPC..
JavaScript
980
star
8

Chronos

๐Ÿ“Š ๐Ÿ“Š ๐Ÿ“Š Monitors the health and web traffic of servers, microservices, Kubernetes/Kafka clusters, containers, and AWS services with real-time data monitoring and receive automated notifications over Slack or email.
TypeScript
829
star
9

obsidian

GraphQL, built for Deno - a native GraphQL caching client and server module
TypeScript
751
star
10

Recoilize

A Chrome Dev tool for debugging applications built with the experimental Recoil.js state management library.
TypeScript
604
star
11

SeeQR

A database analytic tool that allows developers to compare the efficiency of different schemas and queries on a granular level to make better informed architectural decisions regarding SQL databases at various scales.
TypeScript
594
star
12

Quell

Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL. Use Quell to prevent redundant client-side API requests and to minimize costly server-side response latency.
TypeScript
578
star
13

vno

a build tool for compiling and bundling Vue single-file components
TypeScript
432
star
14

ReacType

Prototyping Tool for exporting React/Typescript Applications!
TypeScript
429
star
15

Chromogen

UI-driven Jest test-generation package for Recoil selectors and Zustand store hooks
TypeScript
280
star
16

dbSpy

Visualize, modify, and build your database with dbSpy! An open-source data modeling tool to facilitate relational database development.
TypeScript
263
star
17

DenoGres

Deno + PostgreSQL = DenoGres
TypeScript
212
star
18

obsidian-developer-tool

Developer tool for monitoring client cache performance for Obsidian 8.0
TypeScript
49
star
19

SeeQR-Web

A web-based database analytic tool that allows a developer to compare the efficiency of different queries on a granular level to make better informed architectural decisions regarding Postgres databases at various scales.
TypeScript
15
star
20

Sveltestorm-Website

SvelteStorm website
Svelte
10
star
21

QuellDemo

Demo for Quell written in React utilizing Material UI, chartJS, redis, and graphQL.
TypeScript
7
star
22

reactime-web

Web page for Reactime
JavaScript
6
star
23

Reactype-web

This is the ReacType Website created with Next.js and Typescript
TypeScript
5
star
24

SeeQR-Website

SeeQR's Website
TypeScript
3
star