A middleman service that enables the provisioning of docker stacks to end users through an API.
DK requires the following to run:
The main goal of this service is to create a layer of abstraction that manages user authentication, docker stack templates and docker stack creation and deletion by the end user and adminstrators.
After running the service you can access the API documentation and play with it in http://localhost/api-docs.
# Build docker image
$ npm run build
# Deploy as a container (linux and macosx only)
$ docker volume create dk_data
$ docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -v dk_data:/dk-server/data dk-server
# Deploy as a service (linux, macosx and windows)
$ docker service create --name dk-server --publish 80:80 --constraint 'node.role == manager' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock dk-server
To contribute to DK, clone this repo locally and commit your code on a separate branch. Please write unit tests for your code before opening a pull-request:
# Clone the repository and run
$ npm install
# Running
$ npm start
# Testing
$ npm test
# Coverage
$ npm run coverage
DK server is in its alpha stage so expect breaking chances and no migration guide.
DK is licensed under the MIT license.
Copyright © 2018, Conrado Quilles Gomes