Giter Site home page Giter Site logo

harborjs's Introduction

#HarborJS

This project aims to provide a full web interface for dokku and session management.

##Requirements

In order to run HarborJS you will need :

  • Ubuntu 13 or 12.04 x64

  • Dokku and obviously Docker

  • Dokku plugins (in order to use databases)

  • Node.JS

  • A MongoDB database

##Installing and configuring

First clone the repository

git clone [email protected]:MaximeHeckel/HarborJS.git

Before launching the server you will need to do some setup on your machine.

  1. Add your public key to ~/.ssh/authorized_key of your root and sudo service ssh restart

  2. Fill the credentials.json file with your root user and host. ( nothing needs to be change here as you will run the server locally )

  3. Fill the ./config/database.js file with your MongoDB database address

Then run inside the HarborJS repository

npm install 

Launch the server with :

sudo node server.js

##Features

HarborJS has been build to provide user sessions and web interface for managing apps and databases for dokku.

####0.2

  • Containers have logs

  • Check if app or db already exists

####0.1.2

  • Security : No need of root password anymore

####0.1.0

  • Ability to create/delete apps and databases

  • Link apps with databases

  • Send command to a specific app

  • List all your apps

  • Add a ssh-key to the server

  • Create/Unlink accounts

  • Each apps has its own dedicated page

##How to use it

Let's deploy an app with HarborJS

  • First Login or Signup.

  • Once you're logged in add your ssh-key and your computer's name into the SSH-KEY section.

  • Then go to the Dashboard section and click on the Create new app/db

  • Type the name of your application in the App Name input and push the register button. This action will add a new application into the database which will contain your username and the name of your app.

  • Now you just need to push your application on the server (just look at the dokku documentation to do so).

  • Your app is deployed !

If you want to create a database just click on the Create new app/db button, enter a new name for your database in the database section, choose which type of database you want, hit the Create DB button and your done.

######Note: HarborJS comes with PostgreSQL, MySQL, and Redis built in. You will need to install the corresponding dokku plugins in order to make them work. In order to add your own database type you need ( at least for the moment ) to it directly into the code of the project

##TODO:

  • Config File : JSON with hostname, plugin list, etc.

  • Registering new app : check if the name of the app already exists ( almost done )

  • Error handling : when creating apps or databases

  • Vagrantfile : For fast deployment

  • Chef Recipe : That would be great

  • Documentation : Doc and Tutorials, or even a wiki with step by step guides in order to explain how to deploy all sorts of apps ( with all kinds of databases )

##License

MIT

harborjs's People

Contributors

baptistejamin avatar khrannas avatar maximeheckel avatar tlongren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

harborjs's Issues

node-gyp rebuild fail

I've just tried to install this on Ubuntu 14.04 and I'm constantly getting this error when in run npm install:

npm ERR! Linux 4.4.0-64-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--verbose"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-v8-clone package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-v8-clone
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-v8-clone
npm ERR! There is likely additional logging output above.
npm verb exit [ 1, true ]

npm ERR! Please include the following file with any support request:
npm ERR!     /root/HarborJS/npm-debug.log

Any ideas?

Ubuntu 14.04 Support

Hey there,

I have Dokku running on a 14.04 instance on Digital Ocean and I've been trying to get Harbor working on there to help manage it, but I can get it to install. I have NVM installed and I've tried Node 5.0, 4.2, 0.10.40. Is there a set version that it is know to work on, also does it simply just not work on Ubuntu 14.04?

Thanks,

Steve

Crash in crypto.js:407 new binding.DiffieHellman(sizeOrKey);

I'm encountering a crash when submitting my SSH key. I am running off of master. Please let me know any information I can provide, or anything you would like me to try and I'll be happy to help.

crypto.js:407
this._binding = new binding.DiffieHellman(sizeOrKey);
^
Error: Initialization failed
at new DiffieHellman (crypto.js:407:21)
at Object.DiffieHellman (crypto.js:400:12)
at onKEXDH_GEX_GROUP (/home/jwthomp/repos/HarborJS/node_modules/ssh-exec/node_modules/ssh2/lib/Connection.js:1628:22)
at Parser. (/home/jwthomp/repos/HarborJS/node_modules/ssh-exec/node_modules/ssh2/lib/Connection.js:117:5)
at Parser.EventEmitter.emit (events.js:97:17)
at Parser.parsePacket (/home/jwthomp/repos/HarborJS/node_modules/ssh-exec/node_modules/ssh2/lib/Parser.js:459:12)
at Parser.execute (/home/jwthomp/repos/HarborJS/node_modules/ssh-exec/node_modules/ssh2/lib/Parser.js:249:14)
at Socket. (/home/jwthomp/repos/HarborJS/node_modules/ssh-exec/node_modules/ssh2/lib/Connection.js:506:18)
at Socket.EventEmitter.emit (events.js:94:17)
at Socket. (_stream_readable.js:649:14)

Question about Dokku

What I'm trying to do seems quite simple but I can't figure out how to do it.

I have a dokku server in my ubuntu 16.04 machine. I have added a few users with their public ssh keys, and these users created their apps.

I would like to list all the apps of all the users and know for each app which user created it. I've browsed the web for a while now and I didn't find any solution. If someone has good knowledge of how dokku works I would be pleased to have a solution for this problem.

Is this project still being developed?

Looks like a really great project!
I got it partially running after updating a bunch of it to express 4 but am getting a bunch errors I need to work through on the dashboard page.

Are you still planning on working on this? Do you want contributors?

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.