Running Locally
Running Hippo on your machine requires three steps:
- Install WAGI
- Boot Bindle
- Boot hippo-server
Install WAGI
Hippo deploys applications using handlers following a Common Gateway Interface like approach called WebAssembly Gateway Interface (WAGI).
An incoming client HTTP request is sent to the handler, which launches the application as a WebAssembly module and passes the HTTP request to it using the WAGI protocol. The output of the application - usually in the form of HTML - is then returned by the WebAssembly module, again using WAGI protocol, and the handler relays the output back to the client as an HTTP response.
Download the latest release of WAGI. Extract the WAGI binary and move it to a directory that is in your $PATH.
$ mv wagi /usr/local/bin/
No further configuration is necessary.
Boot Bindle
Applications are bundled up as a bindle. Bindles are collected together in a
bindle server that you can search. Hippo
uses bindle
under the hood for storing and organizing applications.
First, set up a local installation of Bindle. This is where Hippo will publish revisions of your application.
- Download the latest release
of bindle. Extract the
bindle
andbindle-server
binaries and move them to a directory on your $PATH.
$ mv bindle bindle-server /usr/local/bin/
To start the server, simply run
$ bindle-server --unauthenticated
If you would like to see the available options, use the --help
command.
By default, bindle-server
listens on port 8080. You can verify it is running
by issuing a request to Bindle:
$ bindle --server http://localhost:8080/v1 search
=== Showing results 1 to 0 of 0 (limit: 50)
Boot hippo-server
Next, we will compile hippo-server from source.
Prerequisites
Install the following to compile hippo-server from source:
Building
hippo-server is written in C# using the ASP.NET framework. The Web UI uses Angular as the front-end web framework and Bulma as the design framework, which (along with some other packages) is managed via npm.
To build the project, run:
$ git clone https://github.com/deislabs/hippo
$ cd hippo/src/Web
$ dotnet build
Then run hippo-server, pointing at your local Bindle instance:
$ export BINDLE_URL=http://localhost:8080/v1
$ dotnet run
Once that’s done, proceed to Step 2: Deploy an Application