GithubHelp home page GithubHelp logo

djs42012 / docketeer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-source-labs/docketeer

0.0 0.0 0.0 5.25 MB

An easy-to-use GUI for Docker that allows developers to manage Docker containers and monitor crucial metrics.

Home Page: https://docketeer.org/

License: MIT License

JavaScript 92.86% TypeScript 1.28% CSS 5.76% HTML 0.10%

docketeer's Introduction

Table of Contents

logo

About

Managing Docker images, containers and networks from the command line while also trying to monitor crucial metrics can be tedious and counterintuitive. To make this process more developer-friendly, we created Docketeer: a container management platform for Docker.

Installation

  1. Fork and clone this repository to your machine.
git clone https://github.com/open-source-labs/Docketeer.git
  1. Navigate to the project directory and install dependencies.
npm install
  1. Create a .env file in the project's top-level directory.
root
  ├─ .env
  ├─ server
  └─ src
  1. In the .env file, configure the following environment variables for Twilio API, Slack Webhook, and Postgres URI. Refer to Twilio setup section below. The Postgres URI is the only required field. Others are optional.
// .env
TWILIO_NUMBER=''
TWILIO_ACCOUNT_SID=''
TWILIO_AUTH_TOKEN=''
SERVICE_SID=''
VERIFICATION_SERVICE_SID=''
SLACK_WEBHOOK=''
POSTGRES_URI=''
  1. Create a folder called security in the project's top-level directory. Inside of the security folder, create two files email.js and sysadmin.js. These files will store variables related to the email notification service and system admin setup respectively.
root
  ├─ security
      ├─ email.js
      └─ sysadmin.js
  ├─ server
  └─ src
  1. In the email.js file, input your organization's email credentials within the username and password properties. This email address will be used to send email notifications. The file is already in the .gitignore file. Important: Do not change the host and port values unless you are using a different email provider.
// email.js
module.exports = {
  host: 'smtp.gmail.com',
  port: 465,
  username: '[email protected]',
  password: 'belugas',
};
  1. In the sysadmin.js file, input information for the system admin account. If no information is input, the email and phone number for the system admin will be set to default values. These values can always be changed in the system admin's Settings tab.
// sysadmin.js
module.exports = {
  phone: '',
  email: '',
};

You are all set! Now just enter the following command to start up Docketeer!

npm run dev

To log in as sysadmin, use the following credentials

username: sysadmin
password: belugas

To change the system admin password, create a new user with your preferred credentials, then change the role and role_id manually in the database.

Twilio setup

  1. Follow documents found here to download the helper library.
  2. In order to manage Twilio SMS notifications follow the step plan.
  3. Store your (i) Twilio number, (ii) Account Sid, (iii) Auth Token from twilio.com/console, (iv) SERVICE_SID, (v) verification service SID in a newly created .env file in the Docketeer folder in the following format:
  // .env.js
  MY_PHONE_NUMBER='your mobile number'
  TWILIO_ACCOUNT_SID='code from your console'
  TWILIO_AUTH_TOKEN='token from your console'
  SERVICE_SID='code from notify service instance'
  VERIFICATION_SERVICE_SID='code from verify service instance'
  1. Verification service was created here; code length and serviceSID can be taken from your Twilio account console.
  2. All historical messages from the Twilio account can be found here.

Features

➮ System Wide Notifications

Docketeer offers monitoring support for teams by incorporating sms, email and slack notification as well as configurable options based on a container's memory or cpu usage.

➮ Viewing

You can view a list of running and exited containers, available images, volume history, and docker-compose files stored locally.

➮ Live Metrics

Users have real-time access to the total amount of resources (CPU, memory usage) that your containers are using and total block IO bytes by image over specific time periods. alt text

➮ Uploading

Within the Image and Docker Compose tab, you pull images from DockerHub by providing repo:version or uploading a .yml file.

➮ Process Logs

You are now able to view logs for both running and stopped containers. You can filter logs by specifying the number of logs that you wish to receive (tail) as well as time (since). Process logs will help you analyze and debug problems faster by offering insights into what went wrong. alt text


For a full demo of Docketeer's features, visit docketeer.org.

Testing

To conduct tests on the codebase, clone our repo to your local machine and execute the following commands in the terminal:

npm run test

Troubleshoot

Cannot connect to the Docker daemon

⤷ Make sure that you have Docker running!

Working with WSL

⤷ Users may need to install a third-party App to run electron. A helpful article can be found here.

Contributing

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

Authors

License

Docketeer is MIT Licensed

Show your support

Give a ⭐️ if this project helped you!

docketeer's People

Contributors

lo-guevara avatar minchanjun avatar errc-lee avatar seachai avatar lunaf-github avatar cson17 avatar clarcheveque avatar austinandrews avatar kadirgund avatar mit1812 avatar abdukhamidov-anton avatar sinchiw avatar richie-edwards avatar danlin91 avatar msscloudy avatar ajsmith925 avatar ericlay14 avatar youremai avatar kennethhui121 avatar mc-jones avatar dfeldman24 avatar charcharryu avatar kaguda avatar griffinrogersilver avatar brentspeight avatar ricardodgers avatar emczech avatar djs42012 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.