Skip to content

thecampagnards/docktor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11abbd3 · Jul 30, 2021
Jul 30, 2021
Jun 10, 2021
Mar 10, 2021
Jul 17, 2020
Jun 4, 2021
Feb 16, 2019
Mar 31, 2020
Jun 12, 2019
Oct 10, 2019
May 18, 2020

Repository files navigation

Docktor

Build Status Go Report Card Dependencies Dev Dependencies Quality Gate

Docktor is a platform for administrating and deploying SaaS services based on Docker.

Run

Docker compose

You can simply install docker-compose and run this command:

docker-compose up

Only docker

Docker image available here https://hub.docker.com/r/thecampagnards/docktor/. Run a mongo on localhost, then run the service with this command:

docker run -p 8080:8080 -v /data/docktor/assets:/docktor/assets thecampagnards/docktor

You can define some env vars, check back section:

  • MONGO_URL: mongodb url (default localhost)
  • JWT_SECRET: the jwt signed key (default secret)
  • PRODUCTION: boolean check if everything is correct for prod (default false)
  • LOG_LEVEL: the log level (default debug)
  • DEFAULT_ADMIN_ACCOUNT: the default admin username (default root)
  • DEFAULT_ADMIN_PASSWORD: the default admin password (default root)

Developpement

Docktor is a Go/React(TS) app and use libcompose and docker-api. This project use dependabot to keep dependencies up-to-date.

Installation

DB

Docktor needs a mongo as DB. To run a mongo use this command:

docker run -v /data:/data/db --net host --rm mongo

Back

Go version used 1.14.

Create file conf, adds the flag and its value separates from a space to change its default value.

Usage of server:
  -config string
        Path to config file (default "conf")
  -cron-refresh string
        Text param of cron functions to define refresh time (default "@every 30m")
  -default-admin-account string
        The username of a default administrator account (default "root")
  -default-admin-password string
        The password of a default administrator account (default "root")
  -jwt-secret string
        The secret used to sign JWT tokens (default "secret")
  -ldap-attr-email string
        The LDAP attribute corresponding to the email address of an account
  -ldap-attr-firstname string
        The LDAP attribute corresponding to the first name of an account
  -ldap-attr-lastname string
        The LDAP attribute corresponding to the last name of an account
  -ldap-attr-username string
        The LDAP attribute corresponding to the username of an account
  -ldap-base-dn string
        The base DN where to search for users
  -ldap-bind-dn string
        The DN of a LDAP user able to perform queries
  -ldap-bind-password string
        The password associated to the ldap-bind-dn user
  -ldap-host string
        The host of the LDAP to connect to
  -ldap-port int
        The port of the LDAP to connect to (default 389)
  -ldap-search-filter string
        The search filter
  -ldap-secure
        The LDAP needs TLS connection
  -log-level string
        The log level to use (debug, info, warn, error, fatal, panic) (default "debug")
  -mongo-url string
        The mongo db url (default "localhost")
  -production
        Enable the production mode
cd server
go run .

or

docker run -v $(pwd)/server:/server -w /server --net host --rm -ti golang:1.14 go run .

Front

Node version used 13.

cd client
npm install
npm start

or

docker run -v $(pwd)/client:/client -w /client --net host --rm -ti node:13 sh -c 'npm install && npm start'