GitHub - arcten/oforum: minimal self-hostable news/link board

2 min read Original article ↗

Minimal, fast, self-hostable forum — inspired by Hacker News. One binary. One database. image

Install

curl -fsSL https://raw.githubusercontent.com/arcten/oforum/main/install.sh | sudo sh

Pre-built binaries for macOS and Linux (amd64/arm64) on the releases page.

Quick Start

oforum init        # generate .env (asks for DB URL + port)
oforum migrate     # run database migrations
oforum seed        # seed demo data (optional)
oforum             # start the server

Open http://localhost:8080.

CLI

oforum              Start the forum server
oforum init         Generate .env config interactively
oforum migrate      Run database migrations
oforum seed         Seed demo data (30 users, 20 posts, 200 comments)
oforum version      Print version
oforum update       Update to latest release
oforum help         Show all commands

Full docs: man oforum

Features

  • Posts, comments, threaded replies, upvoting
  • User profiles with karma, bios, display names
  • Admin panel — user management, bans, roles, tags, forum settings
  • Colored roles as username badges
  • Full-text search
  • Leaderboard
  • Dark mode
  • SEO (sitemap, robots.txt, llms.txt)
  • No JavaScript frameworks — server-rendered HTML

Self-Hosting

You need two things: the binary and a PostgreSQL database.

DATABASE_URL="postgres://user:pass@host:5432/oforum" oforum

Migrations run automatically. That's the entire config.

Docker

docker build -t oforum .
docker run -p 8080:8080 -e DATABASE_URL="postgres://..." oforum

Fly.io

fly launch
fly secrets set DATABASE_URL="postgres://..."
fly deploy

Environment

Variable Required Default Description
DATABASE_URL Yes PostgreSQL connection string
PORT No 8080 Server port

Development

make dev          # hot reload with air
make build        # build binary
make release      # cross-compile all platforms
make seed         # seed test data
make test         # run tests

License

MIT