2015-12-11 03:35:48 +00:00
|
|
|
# dispatch [![Build Status](https://travis-ci.org/khlieng/dispatch.svg?branch=master)](https://travis-ci.org/khlieng/dispatch)
|
2015-03-04 17:41:25 +00:00
|
|
|
|
2016-01-04 19:21:05 +00:00
|
|
|
####[Try it!](https://dispatch.khlieng.com)
|
2015-06-04 22:04:34 +00:00
|
|
|
|
2016-01-20 00:09:11 +00:00
|
|
|
![Dispatch](https://khlieng.com/dispatch.png)
|
|
|
|
|
2015-06-04 22:04:34 +00:00
|
|
|
### Features
|
2015-05-29 00:55:28 +00:00
|
|
|
* Searchable history
|
|
|
|
* Persistent connections
|
2016-01-18 02:13:52 +00:00
|
|
|
* Multiple servers and users
|
2016-01-04 18:26:32 +00:00
|
|
|
* Automatic HTTPS through Let's Encrypt
|
2016-01-18 02:13:52 +00:00
|
|
|
* Client certificates
|
2015-05-29 00:55:28 +00:00
|
|
|
|
|
|
|
## Usage
|
2015-06-04 22:04:34 +00:00
|
|
|
There is a few different ways of getting it:
|
2015-05-29 00:55:28 +00:00
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 1. Binary
|
2016-02-03 20:59:07 +00:00
|
|
|
- **[Windows (x64)](https://github.com/khlieng/dispatch/releases/download/v0.2/dispatch_windows_amd64.zip)**
|
|
|
|
- **[OS X (x64)](https://github.com/khlieng/dispatch/releases/download/v0.2/dispatch_darwin_amd64.zip)**
|
|
|
|
- **[Linux (x64)](https://github.com/khlieng/dispatch/releases/download/v0.2/dispatch_linux_amd64.tar.gz)**
|
2016-01-19 23:31:47 +00:00
|
|
|
- [Other versions](https://github.com/khlieng/dispatch/releases)
|
2015-05-29 00:55:28 +00:00
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 2. Go
|
2015-05-29 00:55:28 +00:00
|
|
|
This requires a [Go environment](http://golang.org/doc/install).
|
|
|
|
|
2016-03-01 01:04:56 +00:00
|
|
|
If running go 1.5 this environment variable is needed, versions <1.5 are not supported:
|
|
|
|
```bash
|
|
|
|
export GO15VENDOREXPERIMENT=1
|
|
|
|
```
|
|
|
|
|
|
|
|
Fetch, compile and run dispatch:
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
2015-12-11 03:35:48 +00:00
|
|
|
go get github.com/khlieng/dispatch
|
2015-05-29 00:55:28 +00:00
|
|
|
|
2015-12-11 03:35:48 +00:00
|
|
|
dispatch
|
2015-03-04 17:41:25 +00:00
|
|
|
```
|
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
To get some help run:
|
2015-04-22 22:44:40 +00:00
|
|
|
```bash
|
2015-12-11 03:35:48 +00:00
|
|
|
dispatch help
|
2015-04-22 22:44:40 +00:00
|
|
|
```
|
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 3. Docker
|
2015-05-29 00:55:28 +00:00
|
|
|
```bash
|
2016-01-04 20:28:35 +00:00
|
|
|
docker run -p <http port>:80 -p <https port>:443 -v <path>:/data khlieng/dispatch
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
## Build
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
### Server
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
2015-12-11 03:35:48 +00:00
|
|
|
cd $GOPATH/src/github.com/khlieng/dispatch
|
2015-04-26 22:45:49 +00:00
|
|
|
|
2015-04-22 22:44:40 +00:00
|
|
|
go install
|
2015-03-04 17:41:25 +00:00
|
|
|
```
|
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
### Client
|
2016-01-19 23:31:47 +00:00
|
|
|
This requires [Node.js](https://nodejs.org).
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
Fetch the dependencies:
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
|
|
|
npm install -g gulp
|
2015-04-22 22:44:40 +00:00
|
|
|
go get github.com/jteeuwen/go-bindata/...
|
2015-12-11 03:35:48 +00:00
|
|
|
cd $GOPATH/src/github.com/khlieng/dispatch/client
|
2015-03-04 17:41:25 +00:00
|
|
|
npm install
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-26 22:45:49 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
Run the build:
|
|
|
|
```bash
|
2015-12-28 23:34:32 +00:00
|
|
|
gulp build
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-12-28 23:34:32 +00:00
|
|
|
The server needs to be rebuilt after this.
|
|
|
|
|
2016-01-25 05:01:40 +00:00
|
|
|
For development with hot reloading enabled run:
|
2015-12-28 23:34:32 +00:00
|
|
|
```bash
|
|
|
|
gulp
|
2016-01-25 05:01:40 +00:00
|
|
|
dispatch --dev
|
2015-12-28 23:34:32 +00:00
|
|
|
```
|
2016-01-18 02:13:52 +00:00
|
|
|
|
|
|
|
## Libraries
|
|
|
|
The libraries this project is built with.
|
|
|
|
|
|
|
|
### Server
|
|
|
|
- [Bolt](https://github.com/boltdb/bolt)
|
|
|
|
- [Bleve](https://github.com/blevesearch/bleve)
|
|
|
|
- [Cobra](https://github.com/spf13/cobra)
|
|
|
|
- [Viper](https://github.com/spf13/viper)
|
|
|
|
- [Lego](https://github.com/xenolf/lego)
|
|
|
|
|
|
|
|
### Client
|
|
|
|
- [React](https://github.com/facebook/react)
|
|
|
|
- [Redux](https://github.com/rackt/redux)
|
|
|
|
- [React Router](https://github.com/rackt/react-router)
|
|
|
|
- [Immutable](https://github.com/facebook/immutable-js)
|
|
|
|
- [Lodash](https://github.com/lodash/lodash)
|