##Setup
- Install dependencies listed below
- Sign up for reCAPTCHA
- Run
npm install
to install npm deps and compile C++ addons - Configure the files in
config/
- Run
node builder.js
to start an auto-reloading development server
##Cross-platform development with Vagrant
- Install VirtualBox and Vagrant
- Open a shell in meguca's root directory and run
vagrant up
- Grab a coffee
- Run
vagrant ssh
andnode builder
, once logged in. Your changes will automatically sync both ways. More info
##Automatic deployment
Users less familiar with Linux and sysadmin procedures can paste the
following line into the root shell to automatically setup a default
installation on an fresh Ubuntu >=14.04 LTS VPS.
wget -q -O - https://raw.githubusercontent.com/bakape/meguca/master/scripts/deploy.sh | bash -
##Production
- Have your webserver serve
www/
- It is highly recommended to use a dedicated webserver for serving static
files and as a reverse proxy. Even if you choose to use the default inbuilt
webserver, you still need to set
MEDIA_URL
inconfig/imager
for image search links to work.
- It is highly recommended to use a dedicated webserver for serving static
files and as a reverse proxy. Even if you choose to use the default inbuilt
webserver, you still need to set
- Run
npm start/stop/restart
to start/stop/restart the server - You can update
config/hot.js
and client files without restarting the server withnode server/kill.js
- All errors are logged to
./error.log
##Updating
- To recompile the project rerun
npm install
- After upgrading an node.js version also run
npm rebuild
- See
docs/
for upgrading between semver major releases
##Dependencies
- node.js >=2.0.0
- node-gyp dependancies
- imagemagick
- redis
###Optional dependencies
- ffmpeg 2.2+ with libvpx, libvorbis and libopus for WebM support
- with libmp3lame for MP3
- pngquant 2.3.0+ for PNG thumbnails
- 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