部署与快速开始
本页面向自托管系统维护者。使用官方服务的运营管理员请直接看自助开墙流程。
Campux 可以作为一个完整 Web 应用运行,也可以在开发环境中拆成前端、后端和基础设施分别启动。
一键自托管
仓库提供了面向演示和小规模自托管的 docker-compose.yaml:
bash
cp .env.example .env
docker compose up -d默认会启动:
| 服务 | 默认地址 | 说明 |
|---|---|---|
| Campux | http://localhost:8989 | Web、API、OneBot WebSocket 同一个进程 |
| PostgreSQL | localhost:5432 | 业务数据库 |
| MinIO API | http://localhost:9000 | 图片和渲染图对象存储 |
| MinIO Console | http://localhost:9001 | 对象存储管理界面 |
生产环境请至少修改:
ini
DATABASE_URL="postgresql://..."
CAMPUX_WEB_ORIGIN="https://your-domain.example"
CAMPUX_BOT_SESSION_SECRET="replace-with-a-long-random-secret"
S3_ENDPOINT="https://s3.example"
S3_BUCKET="campux"
S3_ACCESS_KEY_ID="..."
S3_SECRET_ACCESS_KEY="..."
S3_PUBLIC_BASE_URL="https://cdn.example/campux"开发模式
开发时可以使用本仓库的基础设施 compose:
bash
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开发地址:
- 前端:
http://localhost:5180 - 后端:
http://localhost:8989
默认开发账号
执行 bun run db:seed 后,本地会创建几个测试账号,密码均为 campux123:
| QQ 号 | 身份 | 用途 |
|---|---|---|
10000 | 用户 | 投稿流程验证 |
20000 | 审核员 | 审核流程验证 |
30000 | 管理员 | 租户管理验证 |
40000 | 系统运维 | 运维面板验证 |
50000 | 运营管理员 | 运营面板和范围化租户管理验证 |
生产环境不应使用测试账号。Campux 会在生产环境隐藏开发测试登录提示,并要求真实账号通过机器人注册或由管理员授权。
首次检查
启动后建议依次确认:
/api/health返回正常。- 运维面板里的“管理端 host”已设置;官方服务通常是
app.campux.top。 - 从管理端 host 打开登录页时,能看到面向墙号运营者的邮箱注册入口。
- 能登录系统运维账号进入运维面板,也能登录运营管理员账号进入运营面板。
- 运营管理员能创建或选择一个校园墙。
- 管理页可以添加机器人,并复制 OneBot 连接 URL。
- 发布管理页能看到发布目标和 cookies 状态。
多租户、系统运维或运营管理员账号登录后,会先看到校园墙选择页。普通单租户账号会直接进入所属校园墙。


如果目标是让墙号运营者完全自助开墙,请继续阅读 自助开墙流程。