No description
Find a file
2015-09-26 05:45:41 +02:00
app removed license module typo 2015-01-21 10:00:18 +01:00
config Meda mediua descriptions non-obligatory 2015-08-27 20:58:28 +02:00
deploy yesod init 2014-08-09 20:33:22 +02:00
Handler cleanup and version bump of js files 2015-09-26 05:27:54 +02:00
messages yesod init 2014-08-09 20:33:22 +02:00
Settings removed license module typo 2015-01-21 10:00:18 +01:00
static css glitch 2015-09-26 05:45:41 +02:00
templates cleanup and version bump of js files 2015-09-26 05:27:54 +02:00
tests yesod init 2014-08-09 20:33:22 +02:00
.gitignore changed storage location of files 2014-08-18 03:09:03 +02:00
Application.hs linted 2015-09-14 18:54:46 +02:00
devel.hs removed license module typo 2015-01-21 10:00:18 +01:00
eidolon.cabal version bump due to new database 2015-08-25 10:19:06 +02:00
Foundation.hs cleanup and version bump of js files 2015-09-26 05:27:54 +02:00
Helper.hs cleanup and version bump of js files 2015-09-26 05:27:54 +02:00
Import.hs cleanup and version bump of js files 2015-09-26 05:27:54 +02:00
LICENSE.md license typo 2015-01-18 20:49:28 +01:00
Model.hs removed license module typo 2015-01-21 10:00:18 +01:00
README.md readme update 2015-03-28 04:20:29 +01:00
Settings.hs managed to insert a link into the footer 2015-08-24 16:56:46 +02:00

#eidolon

##Introduction

A image gallery service written in Haskell as a yesod webapp.

Visit the test instance at eidolon.nek0.eu

##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
  • libmagick++-dev

###Building

get the source with

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

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.

cabal install --only-dependencies

After installing all dependencies you can configure and build the software with

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.

##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.

##Starting

You can start the gallery now by running the executable. You need to provide a settings file, normally found in config/settings.yml

Since eidolon will block your console, I recommend wrapping a init-script around it. how you can do that is written in my blog.

##Acknowledgements: