/foxtan

[WIP] A headless imageboard engine written in DDD-like style w/ 🦊 and ❤️

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Foxtan

Fastest one, beat by none!

Installation

Prerequisites
  • Node.js with npm or npx
  • PostgreSQL (for storing posts, other DBs soon)
  • Redis (for storing captchas)
  • ffmpeg (for processing videos metadata)
  • [NPM] sharp (for processing images and previews)
  • [NPM] canvas (for creating captcha images) (there is an issue on Windows, please, use Docker version)
  • [optional] [NPM] node-static (if web server like nginx is not used)
Installation steps
git clone https://github.com/BakaSolutions/foxtan
cd foxtan

# Install using pnpm (https://pnpm.io)
pnpm install

Configuration

After you have installed the dependencies, config.js file will get automatically created for you. Edit it to set up the engine.

Database setup

Once engine set up is done, run knex migrate:latest to create tables in your database.

Run knex seed:run to add default admin account and some post samples.

Default admin credentials:

  • login: admin
  • password: changeme

Usage

# Launch on LTS or "current" version
node app    # or `pnpm start`

# Launch on non-LTS
npx -p node@lts -- node app

API

To learn more about the API, check out fkclient.js as well as its example - the simplest application based on Foxtan API.

Clients

  • Kumori - Official up-to-date client-side rendering client based on Vue 3
  • Kuri - [STALLED] Server-side rendering client