It's generally a good idea to create a sandbox for compiling. To do so `cd` into the project directory and invoke
```bash
cabal sandbox init
```
Then install all dependencies with the following command. This may lead you into dependency hell, as I am working with very new libraries.
```bash
cabal install --only-dependencies
```
After installing all dependencies you can configure and build the software with
```bash
cabal configure
cabal build
```
##Deploying
After compiling you will find an executable called `eidolon` in `dist/build/eidolon/`. Copy or link it anywhere you want. The executable needs to be accompanied by the folders `config` and `static` and their contents. It's best to copy them to your desired destination.
Also check `config/settings.yml` and set the values there accrding to your configuration.
It may also be necessery to create a reverse proxy to your gallery. I would recommend using [nginx](http://nginx.org/).
Unfortunately the gallery is not highly customizable, but you can change most of its appearance by changing the files `static/css/static-*.css`. Especially the default background image can be changed by replacing `static/css/img/bg.jpg`.
Since eidolon will block your console, I recommend wrapping a init-script around it. how you can do that is written in my [blog](http://nek0.eu/posts/2014-10-23-Daemonize-a-yesod-app.html).