Skip to content

lalcmellkmal/doushio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1212e40 · Aug 25, 2023
Sep 13, 2020
Jun 12, 2021
Aug 25, 2023
Dec 23, 2020
Sep 20, 2017
Oct 4, 2022
Feb 10, 2017
Feb 2, 2017
Apr 4, 2022
Nov 22, 2021
Sep 7, 2021
Aug 25, 2023
Nov 24, 2020
Dec 14, 2021
Sep 13, 2020
Sep 7, 2017
Jan 30, 2022
Sep 1, 2013
Sep 18, 2022
Sep 13, 2020
Jun 12, 2021
Aug 10, 2022
Jul 27, 2020
Jun 12, 2021
Dec 15, 2020
Nov 21, 2020
Dec 23, 2020
Dec 8, 2020
Sep 3, 2022
Jun 12, 2021

Repository files navigation

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 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 (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