开源校园墙运营系统 · 投稿、审核、QQ 机器人、QZone 发布、统计、多租户,一套自托管 TypeScript 应用。
主要面向校园墙运营管理员:自助开墙、配置机器人和发布目标、审核投稿、管理成员/公告/规则/封禁、查看统计。
- 审核员、投稿用户:在产品内按角色使用,无需阅读文档。
- 自托管系统维护者:部署、多租户生命周期、全局账号、域名与安全,见系统维护手册。
官方服务入口 https://app.campux.top。从该域名访问即可用邮箱验证码注册运营管理员账号,然后在产品内:
- 创建自己的校园墙
- 添加墙号 Bot,复制 OneBot URL 到 NapCat 反向 WebSocket
- 配置审核群、发布目标和 QZone cookies
- 测试投稿 → 审核 → 发布闭环
完整步骤见 自助开墙流程。普通用户通过对应校园墙机器人注册,不走此入口。
此外还有:
- OneBot v11 机器人接入:墙号机器人私聊注册、重置密码、审核群命令、扫码登录、cookies 健康检查。
- 两种部署模式:自用单墙(隐藏多租户,开箱即用)或多租户运营平台(多个运营者自助开墙)。
- 引导式初始化:全新实例首次打开走「初始化向导」创建管理员,无需手动改库。
- 自托管友好:单文件零依赖(SQLite + 本地存储)即可起跑,也支持 PostgreSQL + S3/MinIO + Docker Compose;启动自动建库 / 迁移。
自托管实例默认每 2 小时向 Campux 官方中心服务上报匿名聚合统计(实例数、版本、稿件/用户计数),不含任何用户内容、域名或身份信息,用于了解版本分布与维护优先级。设置 CAMPUX_TELEMETRY_DISABLED=true 即可完全关闭,字段明细与隐私边界见遥测说明。
完整文档见 docs.campux.top。
Docker Compose 一键启动与部署注意事项
生产或演示环境直接用 Docker Compose:
cp .env.example .env
# 必填:生成并写入 Bot session 密钥,否则容器拒绝启动
echo "CAMPUX_BOT_SESSION_SECRET=$(openssl rand -hex 32)" >> .env
docker compose up -d默认地址:Web 与 API :8989、PostgreSQL :5432、MinIO API :9000、MinIO Console :9001。
首次打开会进入初始化向导:选择部署模式(自用单墙 / 多租户)、创建第一个管理员账号,无需手动改数据库。详见 部署与快速开始。
部署注意事项:
- 生产环境必须设置
CAMPUX_BOT_SESSION_SECRET,用于加密机器人 cookies。 - 生产环境请使用 HTTPS,session cookie 在
NODE_ENV=production下会带Secure。 - 应用启动默认执行 Prisma migration,跳过可设
CAMPUX_SKIP_AUTO_MIGRATE=true。 - QZone 发布依赖有效 cookies,建议配置 cookies 健康检查和可人工介入的扫码登录。
单文件可执行(零依赖,无需 Docker / PostgreSQL / MinIO)
不想装 Docker / Node / Bun,也不想单独部署 PostgreSQL 和 MinIO 时,可以直接下载每个 Release 附带的自包含单可执行文件。它内嵌了前端产物、SVG 头像、数据库建库脚本、Prisma 查询引擎与原生依赖。默认零依赖:直接运行就用内置 SQLite + 本地文件存储跑起来。
# 选择对应平台:campux-{linux,darwin,windows}-{x64,arm64}
chmod +x campux-linux-x64
./campux-linux-x64 # 默认在 ./data 下创建 SQLite 库 + 本地存储,零外部依赖需要更强的并发 / 独立备份时,设置 DATABASE_URL=postgresql://... 即切换到 PostgreSQL;再设 CAMPUX_STORAGE_DRIVER=s3 + S3_* 即用对象存储。启动时自动建库 / 迁移(PG 形态与 prisma migrate deploy 互换,已迁移过的库会跳过),然后在 :8989 提供服务,浏览器打开即进入初始化向导。
可选的图片压缩 / 说说配图渲染分别需要系统级 sharp 库与 Chromium,缺失时自动降级、不影响核心投稿→审核→发布链路。完整说明见 单文件部署。
本地开发环境(只起基础设施,前后端分别启动)
docker compose -f docker-compose.dev.yaml up -d
bun install
bun run db:generate
bun run db:migrate
bun run db:seed
bun run dev:server
bun run dev:web开发前端默认 :5180,后端默认 :8989。bun run db:seed 会植入测试账号(密码均为 campux123),详见 本地开发。
Bun workspace · Vite + React · Fastify · Prisma + PostgreSQL · S3 兼容存储 · OneBot v11 WebSocket · Docker · VitePress





