Giter VIP home page Giter VIP logo

docketeer's Introduction

logo

Table of Contents

Features

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.

Install

  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.
  • Docketeer ...

    • .env
    • server
    • src

    ...

  1. In the .env file, configure the following environment variables for Twilio API. Refer to Twilio Setup section below.
// .env
TWILIO_NUMBER=''
TWILIO_ACCOUNT_SID=''
TWILIO_AUTH_TOKEN=''
SERVICE_SID=''
VERIFICATION_SERVICE_SID=''
  1. Create a folder called security in the project's top-level directory.

  2. 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.

  • Docketeer ...

    • security
      • email.js
      • sysadmin.js
    • server
    • src

    ...

  1. In the email.js file, input your organization's organization email credentials. This email address will be used to send email notifications from. The file is already in the .gitignore file.
// email.js
module.exports = {
  host: 'smtp.gmail.com',
  port: 465,
  username: '[email protected]',
  password: 'narwhals',
};
  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: '',
};
  1. Connect your cloud relational database (PostgreSQL) by copying and pasting the connection string to the variable PG_URI the file cloudModel.js located in Docketeer/server/models/.
// cloudModel.js
...
const { Pool } = require('pg');

// Copy and paste your PostgreSQL Connectiion URL below to connect your cloud database. Note: no need to create any tables, upon start up Docketeer will create those tables in your DB instance automatically.

const PG_URI = '';
...

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

npm run dev

Twilio setup

1. Download the helper library from https://www.twilio.com/docs/node/install
2. In order to manage Twilio SMS notifications follow the step plan : https://www.twilio.com/docs/notify/quickstart/sms#messagingservice
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:

 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'

4. Verification service was created here: https://www.twilio.com/console/verify/services code length and serviceSID can be taken from your Twilio account console.
5. All historical messages from the Twilio account can be found here: https://www.twilio.com/console/sms/logs

Basic usage

Settings

On the settings page you can set up container specific sms notifications along with notification rules and connect containers to specific github repositories.

compose

Running Containers

Once you open the app, you will be able to see any containers that are already running. You can stop or see more details about any container with the click of a button. You can also run a container based on the id or repo of an image from the top-right.

running

Exited Containers

On the Exited Containers tab, you can view the containers that exited or were stopped. You can click to re-run or remove any exited container.

exited

Images

On the Images tab, you can view the images that are available for you locally. You can click to run or remove any image and you can also pull images from DockerHub by providing repo:version and clicking pull on the top-right.

images

Metrics

On the Metrics tab, you can view the total amount of resources that your containers are currently using.

metrics

Docker Compose

On the Docker Compose tab, you can drag and drop or upload a docker-compose.yml file to run multi-container applications and view your separate networks.

compose

๐Ÿ›  Development

All ideas and contributions to the project are welcome. To run the app in development mode, clone our repo to your local machine and execute the following commands:

npm install
npm run dev

Testing

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

npm install
npm run test

Contributors

โญ Show your support

Give a โญ๏ธ if this project helped you!

LICENSE

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

docketeer's People

Contributors

abdukhamidov-anton avatar ajsmith925 avatar charcharryu avatar clarcheveque avatar danlin91 avatar griffinrogersilver avatar kadirgund avatar lo-guevara avatar mc-jones avatar minchanjun avatar mit1812 avatar richie-edwards avatar seachai avatar sinchiw 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.