eidolon/README.md

86 lines
2.9 KiB
Markdown
Raw Normal View History

2014-08-09 18:31:58 +00:00
#eidolon
2014-12-26 22:38:25 +00:00
##Introduction
2015-03-28 03:20:29 +00:00
A image gallery service written in Haskell as a yesod webapp.
2014-12-26 22:38:25 +00:00
2015-03-28 03:20:29 +00:00
Visit the test instance at [eidolon.nek0.eu][eidolon]
2015-01-11 17:04:55 +00:00
2014-12-26 22:38:25 +00:00
##Installation
###Dependencies
A working Haskell capable environment. For that you will need `ghc` and `cabal-install`.
update your package list with `cabal update` and upgrade `cabal-install`, if necessary.
Additionally to Haskell and its dependencies you will need the following software and libraries:
* alex
* happy
2015-01-06 00:29:36 +00:00
* libmagick++-dev
2014-12-26 22:38:25 +00:00
###Building
get the source with
```bash
git clone https://github.com/nek0/eidolon.git
```
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
2015-09-28 17:58:49 +00:00
cabal build
2014-12-26 22:38:25 +00:00
```
##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/).
2015-01-18 01:55:49 +00:00
##Customizing
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`.
2014-12-26 22:38:25 +00:00
##Starting
2015-01-05 23:41:01 +00:00
You can start the gallery now by running the executable. You need to provide a settings file, normally found in `config/settings.yml`
2014-12-26 22:38:25 +00:00
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).
2015-01-18 19:44:41 +00:00
##Migrations
###0.0.3-0.0.4
* do not start or restart your eidolon service before migration
2015-09-28 17:58:49 +00:00
* run migration script from your run location (where your `static` folder with all the images is located)
* if you are building in a sandbox run `runghc -package-db/full/path/to/sandbox/XXX-ghc-version-packages.conf.d /path/to/eidolon/Migrations/0.0.3-0.0.4/Migration.hs`
* Note: No space between the option `-package-db` and its argument
* without sandbox: `runghc /path/to/eidolon/Migrations/0.0.3-0.0.4/Migration.hs`
* start or restart your eidolon service
2015-01-18 19:44:41 +00:00
##Acknowledgements:
* This software uses the web Framework "Yesod" by Michael Snoyman. See more at: <http://www.yesodweb.com/>
* This software uses parts of the template "Parallelism" by n33co. see more at: <http://html5up.net/>
2015-03-28 03:20:29 +00:00
[eidolon]: http://eidolon.nek0.eu