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-systemand running(nmebious:start-server)
Of course, before that we need to do some additional configuration:
-
PostgreSQL must be set up with 2 databases named
nmebiousandtest(the second one is optional and only needed if you want to run the test suite). -
Create a
.envfile with the following format:DB_USER=user DB_PASS=password SECRET=secretWhere
DB_USERandDB_PASSare the credentials for the Postgres database, andSECRETis 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.