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.
Currently Docketeer does not support M1 chips. Please see our Troubleshoot section for more information.
- Fork and clone this repository to your machine.
git clone https://github.com/open-source-labs/Docketeer.git
- Navigate to the project directory and install dependencies.
npm install
- Create a
.env
file in the project's top-level directory.
root
├─ .env
├─ server
└─ src
- In the .env file, configure the following environment variables for Twilio API, Slack Webhook, and Postgres URI. Refer to Twilio setup section below.
// .env
TWILIO_NUMBER=''
TWILIO_ACCOUNT_SID=''
TWILIO_AUTH_TOKEN=''
SERVICE_SID=''
VERIFICATION_SERVICE_SID=''
SLACK_WEBHOOK=''
POSTGRES_URI=''
- Create a folder called
security
in the project's top-level directory. Inside of thesecurity
folder, create two filesemail.js
andsysadmin.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
- 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: 'example@gmail.com',
password: 'belugas',
};
- 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
- Follow documents found here to download the helper library.
- In order to manage Twilio SMS notifications follow the step plan.
- 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'
- Verification service was created here; code length and serviceSID can be taken from your Twilio account console.
- All historical messages from the Twilio account can be found here.
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.
You can view a list of running and exited containers, available images, volume history, and docker-compose files stored locally.
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.
Within the Image and Docker Compose tab, you pull images from DockerHub by providing repo:version
or uploading a .yml
file.
Demo can found on our site.
To conduct tests on the codebase, clone our repo to your local machine and execute the following commands in the terminal:
npm run test
⤷ Make sure that you have Docker running!
⤷ Users may need to install a third-party App to run electron. A helpful article can be found here.
⤷ If you are still interested in being a contributor to Docketeer, here are a few articles that may provide some solutions. However, due to how recent the release of the M1 Chip is, there is no guarantee that these solutions will work for your machine.
Read our contributing guide for more information on how to purpose bugfixes and improvements to Docketeer.
- Dan Lin @DanLin91 | Linkedin
- Kadir Gundogdu @kadirgund | Linkedin
- Minchan Jun @MinchanJun | Linkedin
- Wilmer Sinchi @sinchiw | Linkedin
- Richie Edwards @richie-edwards | Linkedin
- Mitesh Patel @mit1812 | Linkedin
- Matt Jones @mc-jones | Linkedin
- Chai Lee @seachai | Linkedin
- Anton Abdukhamidov @abdukhamidov-anton | Linkedin
- Alex Smith @ajsmith925 | Linkedin
- Catherine Larcheveque @clarcheveque | Linkedin
- Charles Ryu @charcharryu | Linkedin
- Griffin Silver @griffinrogersilver | Linkedin
- Lorenzo Guevara @lo-guevara | Linkedin
- May Li @msscloudy | Linkedin
- Ricardo Cortez @rcortez88 | Linkedin
- Emma Czech @emczech | Linkedin
- Brent Speight @brentspeight | Linkedin
- Eric Lee @errc-lee | Linkedin
- Kristine Aguda @kaguda | Linkedin
- Dylan Feldman @dfeldman24 | Linkedin
- Tre Hultzen @THultz | Linkedin
- Kenneth Hui @kennethhui121 | Linkedin
Docketeer is MIT Licensed
Give a ⭐️ if this project helped you!