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
Fast video and audio processing through C bindings to ffmpeg
On-demand lazy client module loading and rendering
Client UI
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
Optional R/a/dio Now Playing banner
Public JSON API
##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.
##Compiled Windows Binaries
Compiled binary release archives for windows/x86_64 are downloadable from the
release page.
##Setup
See ./meguca help for server operation
Login into the "admin" account via the infinity symbol in the top banner with
the password "password"
./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 updates all dependencies and fetches new project sources from
the master branch
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.