Appearance
安装与初始化
环境要求
- Node.js 20 以上,推荐 22 LTS。启动时会检查版本,低于 20 直接退出。
- pnpm。版本由仓库里的
packageManager字段锁定。 - 数据库不用提前准备,默认用内置的 SQLite,生产环境可以换 PostgreSQL。
获取代码
bash
git clone https://github.com/lightfl0w/plugim.git
cd plugim
pnpm install构建与启动
bash
pnpm build构建分两步:apps/web 用 Vite 产出静态文件到 apps/web/dist;apps/server 用 tsup 打包成单文件 apps/server/dist/index.js,better-sqlite3、argon2 这类原生模块保持为外部依赖。
bash
pnpm start默认监听 3000。只要 apps/web/dist 存在,同一个端口就同时提供页面、/rpc/* 接口和 /ws WebSocket,不需要另外起静态服务器;没有这个目录时只提供接口。
bash
curl http://localhost:3000/health # {"ok":true,"connections":0}
curl http://localhost:3000/version # {"name":"plugim","version":"0.1.0",...}安装向导
浏览器打开站点,服务端发现还没初始化会自动跳到 /install,三步走完:
- 数据库与日志。SQLite 填
.db文件路径(例如data/plugim.db),PostgreSQL 填postgres://连接串。日志目录可以不填,填了之后控制台日志会按天写一份到该目录。点「测试连接」验证,点「保存并继续」把配置写进data/install.json并自动重启进程,重启后回到向导第二步。 - 创建管理员。第一个注册的用户就是管理员,这个表单建完号直接登录。
- 注册策略。开放注册、邀请码注册、关闭注册三选一,选邀请码就填码。提交后安装完成,进入聊天页。
WARNING
data/install.json 的优先级比环境变量和 .env 都高。装完想换数据库,改这个文件再重启即可;想重新走一遍向导,把它删掉。
开发模式
bash
pnpm dev:server # tsx watch,端口 3000
pnpm dev:web # vite,端口 5173,自动代理 /rpc 与 /ws开发时前端没有构建产物,3000 端口只有接口,日常访问 5173。