Skip to content

部署概览 ​

ClassIntra 是面向校园内网的 WebOS 平台,支持单机部署、PM2 生产部署、多机中继组网等多种形态。本页面提供部署方式对比、系统要求与端口规划,帮助你快速选型。

部署方式对比 ​

部署方式适用场景启动命令进程管理复杂度推荐指数
开发模式本地开发调试pnpm devVite + Node(前台)★⭐⭐⭐⭐⭐
生产模式单机上线、教育场景pnpm build && pnpm startPM2 守护★★⭐⭐⭐⭐⭐
PM2 中继模式多班级跨机联动pm2 start ecosystem.config.jsPM2 + Relay Bus★★★⭐⭐⭐⭐
Docker 化部署容器化环境(实验性)docker compose upDocker / Compose★★★⭐⭐⭐

选型建议

  • 教育场景(一班一机):生产模式 + PM2 守护,简单稳定
  • 多班级联动:PM2 中继模式,配置 RELAY_SERVERS 实现跨机消息同步
  • 公网访问:在 PM2 基础上加 Nginx 反向代理 + HTTPS(参考 生产部署)
  • 跨校区组网:Tailscale VPN + Relay 中继(参考 教育场景)

系统要求 ​

服务端 ​

项目最低要求推荐配置说明
操作系统Windows 10 / Linux / macOSWindows 11 / Ubuntu 22.04 LTS跨平台支持,建议 64 位
CPU双核 1.6 GHz四核 2.4 GHz+单班可降至双核
内存1 GB2 GB+PM2 max_memory_restart 默认 512 MB
硬盘1 GB 可用空间5 GB+ SSD含数据库、资源、日志
Node.js18.0.018 LTS / 20 LTSbetter-sqlite3 原生模块要求
pnpm8.0.08.15+ / 9.xmonorepo 包管理
Git2.20+最新版克隆仓库
ffmpeg(可选)—最新版MKV/MP4 视频流式转码

客户端(学生平板) ​

项目最低要求推荐配置说明
浏览器Chrome 80+Chrome 100+ / Safari 15+兼容 ES2017 + Options API
屏幕1024×768横屏 1280×800+横屏平板优化
网络局域网可达服务器千兆有线 / Wi-Fi 5无需外网

Chrome 80 兼容

ClassIntra 前端代码风格刻意保留 var / function / Options API,避免在 Chrome 80 等老旧浏览器上崩溃。若学生平板浏览器低于 Chrome 80,需升级或安装 Chrome Enterprise。

端口规划 ​

ClassIntra 默认占用以下端口,部署前请确认未被占用:

端口协议服务配置项默认值
9001HTTPREST API + 静态前端PORT9001
10001WebSocket实时通讯(聊天、桌面、超能岛)WS_PORT10001
10011TCP跨机 Relay 中继RELAY_PORT10011
5001HTTPVite Dev Server(仅开发模式)vite.config.mjs5001
8384HTTPSyncthing API(可选,文件同步)SYNCTHING_PORT8384

端口冲突排查

若端口被占用,可修改 server/.env 调整端口:

bash
# Windows 查看端口占用
netstat -ano | findstr :9001

# Linux / macOS
lsof -i :9001

防火墙放行

生产环境仅需开放 9001(或 HTTPS 443)。WebSocket 10001 与 Relay 10011 仅在内网/中继场景开放,禁止暴露到公网。详见 生产部署 - 安全提示。

部署流程概览 ​

① 环境准备        →  安装 Node.js 18+ / pnpm / Git
   ↓
② 克隆仓库        →  git clone + pnpm install
   ↓
③ 配置环境变量    →  复制 .env.example → 编辑 .env(必填 JWT_SECRET)
   ↓
④ 首次配置向导    →  访问 /setup 完成班级初始化
   ↓
⑤ 构建前端        →  pnpm build(生产模式)
   ↓
⑥ 启动服务        →  pnpm start / pm2 start ecosystem.config.js
   ↓
⑦ 验证部署        →  curl /api/system/health

下一步 ​