https://github.com/lalcmellkmal/doushio
Real-time imageboard in node.js and redis
https://github.com/lalcmellkmal/doushio
imageboard nodejs redis
Last synced: 4 months ago
JSON representation
Real-time imageboard in node.js and redis
- Host: GitHub
- URL: https://github.com/lalcmellkmal/doushio
- Owner: lalcmellkmal
- License: mit
- Created: 2012-01-21T22:04:49.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2023-08-27T22:03:35.000Z (almost 3 years ago)
- Last Synced: 2024-04-14T20:02:04.347Z (about 2 years ago)
- Topics: imageboard, nodejs, redis
- Language: JavaScript
- Homepage: http://doushio.com/moe/
- Size: 4.58 MB
- Stars: 124
- Watchers: 17
- Forks: 29
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Real-time imageboard.
MIT licensed.
Setup:
* Install dependencies listed below
* Sign up for reCAPTCHA
* Create a GitHub Application (callback URL = site URL + /login)
* Copy config.js.example to config.js and configure
* Copy hot.js.example to hot.js and configure
* Copy imager/config.js.example to imager/config.js and configure
* Copy report/config.js.example to report/config.js and configure
* SMTP and Telegram Bots are supported for report notifications
* Clone [assets](https://github.com/lalcmellkmal/assets/) and copy the `kana` spoiler image folder as `./www/kana/` (or create your own!).
* Run `npm install` to install npm deps and compile a few helpers
* Run `node builder.js` to run an auto-reloading development server
Production:
* Have your webserver serve www/ (or wherever you've moved src, thumb, etc.)
- Configure `imager.config.MEDIA_URL` appropriately
- Then turn off `SERVE_STATIC_FILES` and `SERVE_IMAGES`
* If you're behind Cloudflare turn on `CLOUDFLARE`
- Or if you're behind any reverse proxy (nginx etc) turn on `TRUST_X_FORWARDED_FOR`
* Run `node server/server.js` for just the server
* You can update client code & hot.js on-the-fly with `node server/kill.js`
* For nginx hosting/reverse proxying, refer to docs/nginx.conf.example
* For a sample init script, refer to docs/doushio.initscript.example
* config.DAEMON support is old and broken, PRs welcome
Dependencies:
* ImageMagick
* libpng
* node 10+
* `npm install -g node-gyp`
* redis
* ffmpeg 2.2+ if supporting WebM
* jhead and jpegtran
Optional npm deps for various features:
* node-telegram-bot-api for telegram reports
* nodemailer for report emails
* [send](https://github.com/visionmedia/send) (if you want to serve static files directly from the node.js process; useful in debug mode also)
Standalone upkeep scripts:
* archive/daemon.js - moves old threads to the archive
* upkeep/backup.js - uploads rdb to S3
* upkeep/clean.js - deletes archived images