Skip to content
/ riseos Public

Source for a unikernel website, with unix dev flow and reactjs bindings

License

Notifications You must be signed in to change notification settings

sgrove/riseos

Repository files navigation

This is the repo for Sean Grove's personal site, https://www.riseos.com/.

It also serves as a (currently very messy) example of a site built in OCaml, using the the Mirage libraries, and deployed as a unikernel.

Instructions

Make sure you have opam installed, and that you're using at least OCaml 4.02.3 (simple as opam switch 4.02.3).

To auto-rebuild the javascript on osx, install fswatch and run fswatch -o client.ml | xargs -n1 -I{} ./rebuild_js.sh in a terminal. It works pretty well, though there can be random delays in the rebuild for some reason.

OSX

mirage configure --net=socket --http_port=3000 --https_port=3001 --unix --show_errors=true
make clean
make
./mir-riseos

Xen

docker run -it -v `pwd`:/src/riseos sgrove/riseos /bin/bash
yes | env FS=crunch mirage configure --xen --no-argv --dhcp=true --show_errors=false --report_errors=true --mailgun_api_key="<>" --error_report_emails=sean@bushi.do
make clean
make xen

JS Client

make client

Relevant Mirage Issues

These mirage issues affect this repo, the sooner they're closed the better (keeping track for myself so I can unpin packages):

TODO

  1. The liquid parser is a total hack right now, and needs 1.) to be improved to support the full liquid spec and 2.) Split off into its own library for others to use.
  2. The code needs to be extracted into a single, turn-key dev and deploy solution, with a three steps to your first unikernel in production guide:
    1. git clone the repo
    2. Edit to add your credentials
    3. Run the (simple) deploy script
  3. Add instructions and examples section

Credit

  • The code was originally a fork of, and is still hugely based off of, Drup's No. repo.

COPYRIGHT

All images and blog materials are copyright Sean Grove 2016.

About

Source for a unikernel website, with unix dev flow and reactjs bindings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published