Home

Awesome

Monaba

Anonymouse imageboard engine written in Haskell and powered by Yesod. Demo board.

It is experimental software and hardly ready for use in the real world.

Features

Dependencies

Installation

git clone https://github.com/ahushh/Monaba
cd Monaba

Setup PostgreSQL user and password in config/postgresql.yml

Application root, port, site name and other settings you can change in config/settings.yml

Download GeoIPCity:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz
cp GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

Or it can be installed from repositories. You can change the path in config/settings.yml

Download GeSHi:

wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
tar -zxvf GeSHi-1.0.8.11.tar.gz
mv geshi /your/path/to/geshi

Set your path to GeSHi in highlight.php

Install all required packages (apt based distros):

apt-get install ghc php5 imagemagick libmagickwand-dev libmagickcore-dev postgresql
apt-get install cabal-install zlibc libpcre++-dev libpcre3 libpcre3-dev libgeoip-dev libcrypto++-dev libssl-dev postgresql-server-dev-9.1

Using already compiled binary:

Download Monaba-[your-arch]-[your-platform].7z here and unpack to dist/build/Monaba/

Be aware that it might be quite old.

Manual building:

cabal update
cabal sandbox init
cabal install --only-dependencies
cabal clean && cabal configure && cabal build

You may also want to change meta tags such as description and keywords in templates/default-layout-wrapper.hamlet. Do it before building.

Run:

Create a database:

psql -U postgres -c 'create database monaba_production';

Run the application to initialize database schema:

./dist/build/Monaba/Monaba production

Open another terminal and fill database with default values:

 psql -U postgres monaba_production < init-db.sql

You are done. Open http://localhost:3000 and navigate to manage page and use "admin" both for username and for password to log in.

Deployment

See extra/nginx.conf example if you want to use Nginx as reverse proxy.

For systemd users: extra/monaba.service

Coming soon…