• Stars
    star
    112
  • Rank 311,020 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dokku Web Interface and Account Management

#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

More Repositories

1

blog.maximeheckel.com

Codebase of @MaximeHeckel's personal blog
TypeScript
452
star
2

design-system

My personal design system
TypeScript
233
star
3

linear-vaporwave-three.js

My first Three.js project: an attempt at recreating the WebGL animation of the 2021 Linear release page https://linear.app/releases/2021-06
JavaScript
46
star
4

react-hook-context-emotion-dark-mode

A implementation of Dark Mode in React using Hooks, Context and Emotion
JavaScript
43
star
5

gatsby-theme-maximeheckel

Gatsby theme that contains the main config / components / branding of @MaximeHeckel's website
TypeScript
29
star
6

linear-vaporwave-react-three-fiber

The React-three-fiber equivalent of https://github.com/MaximeHeckel/linear-vaporwave-three.js
JavaScript
26
star
7

redux-hooks-context

This project is a PoC for a reimplementation of Redux with Hooks and Context
JavaScript
23
star
8

sunshine-weather-app

This is my first SwiftUI project, as I decided not to release it I made the codebase available here for anyone to take a look at.
Swift
23
star
9

react-lazy-preloading

A sample project showcasing preloading chunks on a route based code splitted app
JavaScript
23
star
10

jest-runner-go

A Golang runner for Jest
JavaScript
22
star
11

healthpulse

Simple iOS app that pushes health data from HealthKit to a desired endpoint
JavaScript
21
star
12

health-dashboard

Personal health dashboard powered by GraphQL. https://health.maximeheckel.com
JavaScript
20
star
13

carbonara

A serverless function to take carbon screenshots (https://carbon.now.sh) of any code snippet
TypeScript
14
star
14

github-action-merge-fast-forward

TypeScript
12
star
15

react-livephoto

A simple component for React.JS to make it easy to embed LivePhotos in your app.
JavaScript
10
star
16

gojest

A standalone binary to run Go tests using the Jest platform and jest-runner-go
JavaScript
9
star
17

docker-graphql

A GraphQL interface for the Docker API
TypeScript
7
star
18

graphql-query-builder

A simple graphQL query builder built in Golang
Go
5
star
19

website

My personal website
JavaScript
5
star
20

node-selftracker-server

A self tracking program that stores Fitbit and Runkeeper data into a MongoDB database
JavaScript
4
star
21

node-selftracker-app

A self tracking app that shows my Fitbit and Runkeeper stats
CSS
3
star
22

react-sub-components-context

This project is an example implementation of the sub-component pattern using the new Context API
JavaScript
3
star
23

Amazon-S3-photo-manager

A photo manager for Amazon S3 storage written in Golang
Go
2
star
24

react-suspense-example

A small example of a functional component using React Suspense to fetch and render data.
JavaScript
2
star
25

cypress-axe-example

Small repository that showcase a basic automated accessibility testing setup
JavaScript
2
star
26

api.mhkl.io

api.mhkl.io
TypeScript
1
star
27

og-image-maximeheckel.com

Mini service that's used to generate opengraph images
JavaScript
1
star
28

status-ares-server

Custom status-dasboard server
JavaScript
1
star
29

material-emotion-sample

JavaScript
1
star
30

ucp-client

A simple helper container to connect to a remote Docker Enterprise UCP via a Docker container.
Dockerfile
1
star