Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Anonymous message board made with high-load and distribution in mind, written using Erlang and RIAK
JavaScript Erlang Other
Latest commit 998b25e @kvakvs Update

Current status

This branch is considered a bad design and I will not develop it. If I ever have time to redo macaba, it will be mostly rewritten with static page generation, nginx and distribution in mind (to help board owner absorb DDOS using cloud resources).


Build Status

Anonymous message board server made in Erlang, designed with high load, scalability and extensibility in mind. The forum layout concept is designed to be familiar for wakaba users:

  • site → boards → threads → posts → images and text
  • posts have monotonically increasing ids, one counter per board
  • name field is optional, supports special hash tags for identifying without discovering the user's identity
  • post body uses special markup which is processed to HTML



Project status - Alpha

You can download and run it. Production use is not recommended


Features and TODO list can be found here.


I have configured minimal free instance on Amazon EC2 and started a running copy of the board there. Board is in demo mode, i.e. resets database fully every 15 minutes. You can try it here: admin login and password are "1"


Before you start

  • Linux operating system (Ubuntu works, Debian and other should be easy), MacOSX may work, but you're on your own building dependencies!
  • Erlang/OTP R15 or R16, get from - requires no additional configuration.
  • RIAK database, get from - requires no configuration just install and ensure its started by doing sudo /etc/init.d/riak restart
  • Imagemagick for making thumbnails and image analysis, (apt-get install libmagickwand-dev on Ubuntu)
    • NOTE: this step is optional if you choose to not install thumbnailer, disable it in the macaba.config file, option board.thumbnailer also you can comment out 'eim' dependency in apps/macaba/rebar.config and rm -rf deps/eim to get rid of build errors
  • A working C/C++ compiler to build dependencies (apt-get install build-essential on Ubuntu)


  • Checkout from github by using git clone git://
  • $ make run will do full recompile and start (or make runf to run without recompiling all deps)
  • Open http://localhost:12000/ with your browser

This will download 'rebar', check out dependencies to 'deps/' subdirectory, compile dependencies, compile macaba, and run locally on port 12000 (configurable in macaba.config).

Configuration tips & tricks

TODO: move this to a new file

Running on port 80 as a non-root

Run as root or under sudo: setcap 'cap_net_bind_service=+ep' /path/to/program

And then anytime program is executed thereafter it will have the CAP_NET_BIND_SERVICE capability. setcap is in the debian and ubuntu package libcap2-bin

Something went wrong with that request. Please try again.