nmebious (pronounced N-mebious) is an anonymous imageboard, a clone of mebious written in Common Lisp using Hunchentoot.
- Minimal and flexible API
- RSS feed
- Decoupled backend
- Easily extensible REPL administration tools
There are three main ways of setting up an instance:
- Running
make
, which will build the binary and executing it. - Running
make run
, which will load the system and put you directly into the CL REPL. This will also create a SWANK server on port 4005 so you can connect and hack on it live. - Manually loading the system using
asdf:load-system
and running(nmebious:start-server)
Of course, before that we need to do some additional configuration:
-
PostgreSQL must be set up with 2 databases named
nmebious
andtest
(the second one is optional and only needed if you want to run the test suite). -
Create a
.env
file with the following format:DB_USER=user DB_PASS=password SECRET=secret
Where
DB_USER
andDB_PASS
are the credentials for the Postgres database, andSECRET
is the key used by HMAC to hash the IP addresses. -
ImageMagick needs to be installed.
-
It is HIGHLY recommended that you use nginx on top of nmebious to handle rate limiting, static file serving, limiting the accepted file sizes, etc.
The configuration is located inside src/config.lisp
.
The only thing that you need to change is the *web-url*
parameter, which gets displayed on the RSS feed. Everything else you can modify/adjust to your liking, or just leave as defaults.
Load the system and run (asdf:test-system :nmebious)
.
One important thing to keep in mind is that the server MUST be off when running the tests.