diff --git a/INSTALL.md b/INSTALL.md index 24b972e..fcab6c0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,20 +2,51 @@ Vervis is still in early development. These instructions may be incomplete and/or slightly outdated. At the time of writing, you can get a running Vervis instance if you follow the steps below. -Install Darcs, GHC 7.10.3 and a recent `stack` version. +Check the version of OpenSSL installed on your system. For example: -Download the Vervis repo: + $ apt show openssl - $ darcs clone http://hub.darcs.net/fr33domlover/vervis +Currently Vervis is using a slightly old software configuration, and until I +fix that, it doesn't build with OpenSSL 1.1 and needs the older 1.0 or 1.0.1 +version. If your distro has 1.1, see if you can grab 1.0 or 1.0.1 in some way, +either through the distro package or by downloading OpenSSL manually from its +website, or some alternative package manager such as GNU Guix. + +Install stack. To install stack, go to its website and follow the instructions. +If you have some old version, such as one installed from FPComplete's old +debian repo, you may need to upgrade it. + +Install Darcs. You can grab it from your distro, e.g.: + + $ sudo apt install darcs + +If you're going to create a Git repository on Vervis, you'll need Git too, you +can install it from a distro package too, e.g.: + + $ sudo apt install git + +Clone the Vervis repo: + + $ darcs clone https://dev.seek-together.space/s/fr33domlover/r/vervis $ cd vervis +Install GHC. Unless you prefer to use a distro package or PPA or some other +source, the easiest way is to install via stack: + + $ stack setup + Check in `stack.yaml` near the top which extra repos are required. At the time of writing, there are 4 of them (`hit-harder`, `hit-graph`, `hit-network` and `ssh`). Then clone them. For example: $ darcs clone http://hub.darcs.net/fr33domlover/ssh -Update `stack.yaml` to specify that path in the `packages` section: +Some of those extra repos are at `hub.darcs.net` and some at +`dev.seek-together.space/s/fr33domlover/r`, I'm sorry I'm not just listing the +URLs here. These things have been changing often, but once they stabilize I +will update the docs, and also make releases of all these extra libraries. + +Update `stack.yaml` to specify that path in the `packages` section if needed: $ vim stack.yml @@ -32,16 +63,21 @@ Create a new PostgreSQL user and a new database. $ #TODO take this from the vervis ticket I wrote... -Update `stack.yaml` to specify correct database connection details. +Update `config/settings.yml` to specify correct database connection details and +other settings. - $ vim stack.yaml + $ vim config/settings.yml Build. - $ stack build --flag vervis:dev + $ stack build Run. $ stack exec vervis -Browse to `http://localhost:3000` and have fun. +Browse to `http://localhost:3000` and have fun! + +`yesod devel` is another way to run the application, useful for rapid +development, but I haven't been using it and I'm not sure it works, possibly I +broke something along the way. But feel free to try!