zhuchunshu/super-forum

This package is abandoned and no longer maintained. No replacement package was suggested.

SForum

Maintainers

Package info

github.com/zhuchunshu/SForum

Language:Go

Type:project

pkg:composer/zhuchunshu/super-forum

Transparency log

Fund package maintenance!

zhuchunshu

www.runpod.cn/290.html

Statistics

Installs: 227

Dependents: 0

Suggesters: 0

Stars: 200

Open Issues: 0

v2.7.7 2025-01-22 12:08 UTC

README

Maintainable, plugin-first open-source forum framework.

Core is the host (identity, forum primitives, permissions, extension runtime, contracts). Deployment-specific behavior—mail transport, optional search engines, storage vendors, and similar—lives in extensions.

Documentation

Language Start here
简体中文 docs/zh-CN/README.md
English docs/en-US/README.md
Hub docs/README.md

Quick paths:

Repository map

Path Role
apps/web Nuxt 4 frontend
apps/api Go Fiber API, worker, CLI
contracts/ OpenAPI + Protobuf
extensions/ Built-in / optional / dev packages
docs/ Bilingual handbooks + extension reference
knowledge/ Decisions, module notes, session handoffs
scripts/ Dev and test helpers
deploy.sh + compose*.yaml Production and dependency orchestration

Local development

./scripts/dev.sh                 # PostgreSQL, Redis, Mailpit + migrations
./scripts/api-dev.sh             # API (embeds worker in dev)
cd apps/web && bun run dev       # Nuxt on :3000

Background jobs: development defaults to EMBED_WORKER_IN_API=true, so the API process consumes the River queue. For production split process development (EMBED_WORKER_IN_API=false), run a standalone worker:

./scripts/worker-dev.sh          # optional; only when the API does not embed the worker

Useful URLs:

Meilisearch is optional (docker compose --profile search up -d meilisearch). Default search is built-in site PostgreSQL FTS.

Full steps: docs/zh-CN/getting-started.md or docs/en-US/getting-started.md.

Production

mkdir -p sforum
curl -fsSL https://github.com/zhuchunshu/SForum/archive/refs/tags/v3.0.1.tar.gz \
  | tar -xz --strip-components=1 -C sforum
cd sforum
./deploy.sh                              # interactive install; Enter uses latest stable
./upgrade.sh                             # update; Enter selects the newest GitHub Release
./upgrade.sh --version v3.0.1            # update to a specific release

upgrade.sh accepts a positional version or --version; its default latest includes prereleases. It resolves that choice to a concrete tag, prints the current and target versions, and asks for confirmation (--yes skips prompts). The first blue/green ingress conversion has a short maintenance window. Later releases keep API/Web HTTP traffic available when the database is unchanged or every pending Core migration explicitly declares backward-compatible online execution; WebSockets may reconnect and Worker consumption pauses briefly without losing durable jobs. Undeclared Core and all River migrations use the blue/green-aware deploy.sh maintenance path.

Details: docs/zh-CN/deployment.md / docs/en-US/deployment.md.

Community

Contributing / agents

  1. Read AGENTS.md
  2. Read docs/ for usage and development
  3. Read knowledge/index.md for current project memory
  4. Keep OpenAPI, tests, and knowledge notes updated with code changes