Skip to content

Soreil/meguca

 
 

Repository files navigation

GoDoc Build Status Dependency Status

Note: The version in the master branch is currently in early development. For deploying a production-ready legacy meguca instance, download the latests release and consult the bundled README.

Platforms: Linux, OSX, Win64

##Runtime dependencies

  • RethinkDB
    • 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. You might also set it to autostart on boot. See the official guide.

##Installable binaries Coming soon™

##Building from source

  • Windows only: Install MSYS2 and clone/move meguca somewhere within it's root directory (C:\msys64 by default)
  • Install:
    • GCC or Clang
    • make
    • Go
    • Node.js >=5.0 (for building the client)
    • ffmpeg >=3.0 development libraries (libavcodec, libavutil, libavformat, libswscale) compiled with:
      • libvpx
      • libvorbis
      • libopus
      • libtheora
      • libx264
      • libmp3lame
  • Run make
  • Prepare server for operation by running make init

##Production

  • Edit ./config/config.json to configure your instance
  • See ./meguca help
    • Windows does not support daemonisation. The stop|restart arguments are not available and start is an alias for debug
  • For upgarding between semver major releases see docs/migration.md

##Development

  • ./meguca debug to 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 clean removes files from the previous compilation
  • make dist_clean in addition to the above, removes configuration, images and stored assets

// TODO: Rewrite everything below for v2

Documentation

  • docs/api.md - JSON API spec
  • docs/dev_guide.md - Brief description on project operation for developers
  • docs/migration_*.js - Major semvser migration instructions
  • docs/doushio.initscript.example - Init script example
  • docs/nginx.config.example - ngingx configuration example

##Standalone upkeep scripts

  • scripts/backup.js - uploads rdb to S3
  • scripts/backup.sh - MEGA backup script
  • scripts/purge_bans.sh - Removes all bans
  • scripts/purge_mod_sessions.sh - Closes all active moderator sessions
  • scripts/radio.js - icecast2 server integration
  • scripts/send.js - global websocket push messages

About

High performance real-time imageboard in Go, TypeScript and RethinkDB

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 51.4%
  • Go 22.7%
  • TypeScript 15.2%
  • CSS 8.6%
  • HTML 1.1%
  • Shell 0.6%
  • Makefile 0.4%