anonymous realtime imageboard focused on high performance, free speech and transparent moderation
Platforms: Linux, OSX, Win64
License: GNU AGPL
- PostgresSQL >= 10.0
To enable poster country flags on posts please download GeoLite2-Country.mmdb from https://www.maxmind.com and place it inside meguca's root directory. Country lookup will become available after a server restart.
A reference list of commands can be found in ./docs/installation.md
- Go >=1.11 (for building server)
- Node.js >=5.0 (for building client)
- C11 compiler
- make
- pkg-config
- pthread
- ffmpeg >= 3.1 libraries (libavcodec, libavutil, libavformat, libswscale)
compiled with:
- libvpx
- libvorbis
- libopus
- libtheora
- libx264
- libmp3lame
- OpenCV >= 2
- git
- Run
make
- Install MSYS2
- Open MSYS2 shell
- Install dependencies listed above with the
mingw-w64-x86_64-
prefix with pacman - Navigate to the meguca root directory
- Run
make
- See
./meguca help
for server operation - Login into the "admin" account via the infinity symbol in the top banner with the password "password"
- Change the default password
- Create a board from the administration panel
- Configure server from the administration panel
- To enable country flags on posts download and place
GeoLite2-Country.mmdb
into the root directory - To avoid having to always type in CLI flags on server start you can specify them in
config.json
file in the project root. A sample file with all the default settings can be found indocs/
.
- See
./docs
for more documentation ./meguca
or./meguca debug
run the server in development modemake server
andmake client
build the server and client separatelymake watch
watches the file system for changes and incrementally rebuilds the clientmake clean
removes files from the previous compilationmake {test,test_no_race,test_docker}
run regular, without data race detection and Dockerized test suites, respectively- To run server unit tests (unless Dockerized) add database creation rights to your PostgreSQL role
For developing the new C++ client
- Run
git submodule update --init --recursive
- Install Emscripten
- Ensure Emscripten environment variables by running
source emsdk_env.sh
in your shell - Use
DEBUG=1 make wasm
andmake wasm_clean
to compile the C++ client and clean build directories - To use the C++ client for meguca add the
?wasm=true
query string to the end of the URL