No file is ever thumbnailed or stored twice, reducing server load and
disk space usage
Any file already present on the server is "uploaded and thumbnailed"
instantly
Performance
Low memory and CPU usage
High vertical and easy horizontal scaling
No frameworks and optimized code on both client and server
File upload processing written in C with GraphicsMagick and ffmpeg
On-demand lazy client module loading and rendering
Inbuilt custom LRU cache
Client UI
Works with all modern and most outdated browsers (such as PaleMoon)
Read-only functionality preserved with JavaScript disabled
Scrolling compensation prevents post updates from moving the viewport
Inbuilt DOM update batching to reduce redraws
Multiple themes
Custom user-uploaded backgrounds
Configurable keyboard shortcuts
Work mode aka Boss key
Customisable top banner board link list
Optional animated GIF thumbnails
Settings export/import to/from JSON file
Board administration
User board creation and configuration panels
Internationalization
Client almost entirely localized in multiple languages
More languages can be added by editing simple JSON files
Miscellaneous
Documented public JSON API and WebSocket protocol
Optional R/a/dio Now Playing banner
##Runtime dependencies
RethinkDB.
On Linux RethinkDB does not enable a configuration file by default. If you don't
want to configure anything, just copy /etc/rethinkdb/default.conf.sample into
/etc/rethinkdb/instances.d/instance1.conf.
##Building from source
A reference list of commands can be found in docs/installation.md
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
##Development
See /docs/ for more documentation
./meguca or ./meguca debug run the server in development mode
make server and make client build the server and client separately
make watch watches the file system for changes and incrementally rebuilds
the client
make update_deps updates all dependencies
make clean removes files from the previous compilation
make dist_clean in addition to the above removes uploaded files and their
thumbnails
###Linux only
make creates a Go workspace in the .build subdirectory. If you don't have a
proper Go workspace set up, you can simply export GOPATH=$(pwd)/.build to
temporarily assign .build as your Go workspace in the current shell. This will
allow you to use native go commands such as go test and go build.
Package config stores and exports the configuration for server-side use and the public availability JSON struct, which includes a small subset of the server configuration.
Package config stores and exports the configuration for server-side use and the public availability JSON struct, which includes a small subset of the server configuration.