Giter Site home page Giter Site logo

navmarwaha / dockerbox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dockerx/dockerbox

0.0 2.0 0.0 1.51 MB

A ridiculously simple system to deploy and test distributed micro-services. An internal heroku to your company.

License: MIT License

Dockerfile 1.21% Makefile 0.19% JavaScript 61.08% Shell 1.48% CSS 9.80% HTML 26.24%

dockerbox's Introduction

DockerBox

Ridiculously simple system way deploy and test micro-services. It's an internal heroku for your company.

DockerBox is an PAAS solution for setting up a QA or DevInt environment of a company. It can be deployed in a server and can add more servers to the cluster it forms using Docker Swarm. It uses Docker-compose for deploying distributed apps.

Usage

  • This can be used as a QA and Integration Testing environments of a company. Where the developers and QA engineers can enjoy the liberty to launch and delete as many instances of there application for testing or developer integration.
  • Distributed apps can be tested by defining the relation between them. Please refer the screenshots.
  • Images of the server can be defined by dockerfiles.
  • Authentication is via Google Apps.

Installation

Hosting in AWS

  • Launch an ec2 instance for the Dockerbox-Master server with ubuntu 14.04 image

  • Add the security group to accept all TCP connection from anywhere.

  • SSH into the created Dockerbox-Master and switch to root user before running the following command (sudo su or sudo -i):
curl -sSL https://raw.githubusercontent.com/dockerx/dockerbox/master/install-master.sh | sh
  • DockerBox is now up and running. Go to http://Dockerbox-Master_public_ip
  • Register a wildcard domain (eg *.dockerbox.in) and map it to Dockerbox-Master_public_ip. If you don't want to register, it can be managed with your internal DNS as well.
  • Open the application with the registered domain.
  • Login to your application for the first time with the following credentials
Name: admin
Email: [email protected]
  • Go to the configuration page /admin/configuration
  • Give the internal and public ip of the Dockerbox-Master at cluster.master of the JSON data in configuration page and update. Refer configuration for more options. Also add gauth.domain and domainName accordingly.
  • Now the dockerbox environment is ready with single server in the cluster.
  • Instruction for adding more servers to the cluster is given in the bottom of the configuration page

Screenshot

Screenshot of the DockerBox Login Screenshot of the DockerBox Landing page Screenshot of the DockerBox Host creation Screenshot of the DockerBox Image creation

Configuration

  • gauth : The propertie to give the GAuth credentials
  • gauth.domain : This is for giving the complete name of hosted domain of DockerBox. Eg: www.dockerbox.in or beta.companyname.com etc.
  • gaTrackingId : Google analytics tracking ID (Optional)
  • domainName : The registered domain name.
    • dockerbox.in where the wildcard domain is registered as *.dockerbox.in
    • beta.companyname.com where the wildcard domain is registered as *.beta.companyname.com
  • admin[Array] : List of Admin emails.
  • underMaintenance[Boolean] : If true only the Admins can access your DockerBox installation.
  • cluster.master : The master server Public and Internal(private) ips.
  • cluster.nodes[Array] : List of cluser nodes Public and Internal(private) ips
For adding a new server to the cluster
  • Launch a new EC2 instance same like Dockerbox-Master.
  • SSH into this new server and run the below command after becoming the root user by running sudo su
curl -sSL https://raw.githubusercontent.com/dockerx/dockerbox/master/node-setup.sh | sh -s <Dockrbox_Master Internal IP>
  • Add the Public and Internal Ip of the new server to the cluster.nodes list in the format {"internal_ip" : "", "public_ip" : ""}

Author

Contributors

Feel free to write to us for any issues or support. PRs welcome!

License

MIT License

dockerbox's People

Contributors

alanjoxa avatar fayizk1 avatar

Watchers

James Cloos avatar Navneet Singh 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.