Palpo 构建指南
本文档提供了在不同平台上构建 Palpo Matrix 服务器的详细说明。
目录
系统要求
基础要求
- Rust 1.70+ (推荐使用最新稳定版)
- PostgreSQL 12+
- Git
- Diesel CLI (用于数据库迁移)
平台特定要求
- Linux:
libclang-dev,libpq-dev,cmake - macOS: Xcode Command Line Tools
- Windows: Visual Studio Build Tools 2019+
macOS/Linux 构建
1. 安装依赖
macOS
更多信息请参考:
Ubuntu/Debian
更多信息请参考:
CentOS/RHEL/Fedora
更多信息请参考:
2. 安装 Rust 和 Diesel CLI
更多信息请参考:
3. 克隆并构建项目
Windows 构建
1. 安装依赖
使用 Chocolatey (推荐)
更多信息请参考:
2. 安装 Diesel CLI
3. 设置环境变量
4. 构建项目
数据库设置和迁移
1. 创建数据库和用户
macOS/Linux
Windows
在 psql 中执行
更多信息请参考:
2. 配置数据库连接
设置环境变量或创建 .env 文件:
3. 运行数据库迁移
4. 迁移管理命令
更多信息请参考:
5. 验证数据库结构
连接数据库验证表是否创建成功:
Docker 构建
1. 使用预构建镜像 (推荐)
更多信息请参考:
2. Docker 环境数据库迁移
Docker 环境中的数据库迁移会自动执行,但你也可以手动运行:
3. Docker Compose 配置示例
开发环境设置
1. 安装开发工具
更多信息请参考:
2. 设置开发数据库
3. 运行开发服务器
4. 验证服务器运行
启动成功后,使用以下命令测试服务器是否正常运行:
如果返回上述 JSON 数据,说明 Palpo 服务器已成功启动并正常运行。
更多关于 Matrix API 的信息请参考:
数据库架构说明
Palpo 使用以下主要数据表:
- 用户相关:
users,user_passwords,user_sessions,user_profiles,user_access_tokens - 房间相关:
rooms,room_aliases,room_tags - 事件相关:
events,event_datas,event_points,threads - 媒体相关:
media_metadatas,media_thumbnails,media_url_previews - 端到端加密:
e2e_device_keys,e2e_room_keys,e2e_room_keys_versions - 统计相关:
stats_user_daily_visits,stats_monthly_active_users,stats_room_currents - 其他:
threepid_*,user_pushers,server_signing_keys
所有表的详细结构可以在 crates/data/migrations/ 目录中查看。
故障排除
数据库相关问题
- 迁移失败:
- 权限问题:
- 连接问题:
更多故障排除信息请参考:
常见问题
- 编译错误: 确保安装了所有必需的系统依赖
- Diesel CLI 安装失败: 确保安装了
libpq-dev(Linux) 或 PostgreSQL 开发库 - 端口冲突: 修改
listen_addr使用不同端口 - 权限问题: 确保 Palpo 有权限访问配置文件和媒体目录
日志调试
更多调试信息请参考: