MoxChat节点-文件服务-信令服务部署指南

ponzS

发布于29天前
ponzs.com
# MoxServer 应用核心中继节点
安全的多中继聊天控制面,内置长轮询事件同步。
负责私聊、群聊、资料存储,以及跨多个中继的增量事件投递。
在消息被推送到目的地后会被删除,仅用于中继数据不负责长期保存。

## 环境变量 .env
MoxServer 启动时默认读取当前目录或上级目录中的 `.env`;也可以在启动前通过 `MOXSERVER_ENV_FILE` 指定其他 env 文件。`.env` 中的值会覆盖代码内置默认值。

数值型配置只接受正整数。空值、非整数或小于等于 0 的值会回退到代码内置默认值。

| 参数 | 用途 |
| --- | --- |
| `MOXSERVER_DB_DSN` | MoxServer 运行期 PostgreSQL 连接串,服务启动后用它连接聊天中继数据库并初始化表结构。 |
| `MOXSERVER_DB_AUTO_INIT` | 是否在启动时自动创建/确保数据库和账号。只有值为 `1` 时启用;启用后会使用下面的 super/user/name/password 配置先执行数据库初始化。 |
| `MOXSERVER_DB_SUPER_DSN` | 自动初始化数据库时使用的 PostgreSQL 管理员连接串,需要有创建数据库、创建/修改用户的权限。 |
| `MOXSERVER_DB_NAME` | 自动初始化时要创建或确保存在的业务数据库名。 |
| `MOXSERVER_DB_USER` | 自动初始化时要创建或确保存在的业务数据库用户名。 |
| `MOXSERVER_DB_PASSWORD` | 自动初始化时写入 `MOXSERVER_DB_USER` 的数据库密码。 |
| `MOXSERVER_ADDR` | HTTP 监听地址,格式如 `:8980`、`:8080` 或 `127.0.0.1:8980`;不配置时使用 `:8980`。端口被占用时启动入口会尝试后续端口。 |
| `MOXSERVER_DATA_RETENTION_DAYS` | 中继数据保留天数。后台清理器会定期删除早于该时间的 DM、群消息、好友申请、回执、事件等数据;默认 `30` 天。 |
| `MOXSERVER_CHALLENGE_TTL_SECONDS` | challenge-response 验证码有效期,单位秒;默认 `60` 秒。 |
| `MOXSERVER_AUTH_FAIL_BAN_THRESHOLD` | 同一来源 IP 在失败统计窗口内达到多少次认证失败后进入封禁;默认 `10` 次。 |
| `MOXSERVER_AUTH_FAIL_BAN_MINUTES` | 认证失败触发封禁后的封禁时长,单位分钟;默认 `30` 分钟。 |
| `MOXSERVER_AUTH_FAIL_WINDOW_MINUTES` | 认证失败次数统计窗口,单位分钟;默认 `30` 分钟。 |


# MoxFile 文件中继服务
一次性文件中继,适合加密上传、清单分发与已读销毁式附件流程。
提供安全的文件会话控制面,以及带短时 token 的上传 / 下载端点,适合短生命周期的加密附件交付。

## 环境变量 .env
MoxFile 启动时默认读取当前目录或上级目录中的 `.env`;也可以在启动前通过 `MOXFILE_ENV_FILE` 指定其他 env 文件。`.env` 中的值会覆盖代码内置默认值。

数值型配置只接受正整数。空值、非整数、表达式或小于等于 0 的值会回退到代码内置默认值。

| 参数 | 用途 |
| --- | --- |
| `MOXFILE_DB_DSN` | MoxFile 运行期 PostgreSQL 连接串,服务启动后用它连接文件中继数据库并初始化表结构。 |
| `MOXFILE_ADDR` | HTTP 监听地址,格式如 `:8981`、`:8090` 或 `127.0.0.1:8981`;不配置时使用 `:8981`。端口被占用时启动入口会尝试后续端口。 |
| `MOXFILE_DATA_RETENTION_DAYS` | 文件对象和过期数据的最长保留天数。后台清理器会删除超出保留期或已过期的文件对象,并同步删除磁盘文件;默认 `30` 天。 |
| `MOXFILE_CHALLENGE_TTL_SECONDS` | challenge-response 验证码有效期,单位秒;默认 `60` 秒。 |
| `MOXFILE_AUTH_FAIL_BAN_THRESHOLD` | 同一来源 IP 在失败统计窗口内达到多少次认证失败后进入封禁;默认 `10` 次。 |
| `MOXFILE_AUTH_FAIL_BAN_MINUTES` | 认证失败触发封禁后的封禁时长,单位分钟;默认 `30` 分钟。 |
| `MOXFILE_AUTH_FAIL_WINDOW_MINUTES` | 认证失败次数统计窗口,单位分钟;默认 `30` 分钟。 |
| `MOXFILE_MAX_FILE_SIZE_BYTES` | 单个文件对象允许的最大字节数。必须写成十进制整数字节数,例如 `107374182400` 表示 100 GiB;`100*1024*1024*1024` 这类表达式不会被计算。 

# MoxSignal 实时通话信令服务
支持 ws-token 交接与服务端下发 ICE 配置。
将小型鉴权 HTTP 控制面与 WebSocket 信令通道结合起来,用于 offer / answer / ICE / hangup 等实时交互。
附带SFU服务扩展,除了P2P音视频通话以外,还支持大型多人视频会议和直播功能。

## 环境变量 .env
MoxSignal 启动时默认读取当前目录或上级目录中的 `.env`;也可以在启动前通过 `MOXSIGNAL_ENV_FILE` 指定其他 env 文件。`.env` 中的值会覆盖代码内置默认值。

数值型配置只接受正整数。空值、非整数或小于等于 0 的值会回退到代码内置默认值。

| 参数 | 用途 |
| --- | --- |
| `MOXSIGNAL_DB_DSN` | MoxSignal 运行期 PostgreSQL 连接串,服务启动后用它连接信令数据库并初始化通话、参与者、信令事件等表结构。 |
| `MOXSIGNAL_ADDR` | HTTP 与 WebSocket 监听地址,格式如 `:8982`、`:8077` 或 `127.0.0.1:8982`;不配置时使用 `:8982`。端口被占用时启动入口会尝试后续端口。 |
| `MOXSIGNAL_CHALLENGE_TTL_SECONDS` | challenge-response 验证码有效期,单位秒;默认 `60` 秒。 |
| `MOXSIGNAL_WS_TOKEN_TTL_SECONDS` | `POST /api/secure/ws-token` 返回的 WebSocket token 有效期,单位秒;默认 `900` 秒。 |
| `MOXSIGNAL_EVENT_TTL_SECONDS` | 未投递信令事件的保留时间,单位秒;超时后后台 GC 会删除 `signal_events` 中的过期事件,默认 `120` 秒。 |
| `MOXSIGNAL_START_CALL_RATE_PER_MIN` | 创建通话接口的限流阈值,表示每分钟最多允许的 start-call 请求数;默认 `30`。 |
| `MOXSIGNAL_WS_MESSAGE_RATE_PER_SEC` | 单个 WebSocket 连接的信令消息限流阈值,表示每秒最多允许的消息数;默认 `60`。 |
| `MOXSIGNAL_PUBLIC_BASE_URL` | 对外公开访问地址。创建 DM 通话时会写入邀请中的 `signalRelayURL`;不配置时根据请求的 scheme/host 推导。 |
| `MOXSIGNAL_AUTH_FAIL_BAN_THRESHOLD` | 同一来源 IP 在失败统计窗口内达到多少次认证失败后进入封禁;默认 `10` 次。 |
| `MOXSIGNAL_AUTH_FAIL_BAN_MINUTES` | 认证失败触发封禁后的封禁时长,单位分钟;默认 `30` 分钟。 |
| `MOXSIGNAL_AUTH_FAIL_WINDOW_MINUTES` | 认证失败次数统计窗口,单位分钟;默认 `30` 分钟。 |

## 在微服应用详情页编辑 环境变量.env

![截屏2026-05-05 18.26.58.png](https://dl.playground.lazycat.cloud/guidelines/559/fdb2e1a0-87a8-42bd-a065-6f494ca35d25.png "截屏2026-05-05 18.26.58.png")

# 通过cloudflare部署服务

## 第一步 - 使用懒猫微服商店中的端口转发工具暴露本地端口



https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.forward

局域网入口类型选择微服虚拟网卡
转发目标类型选择微服应用

示例配置:

![截屏2026-05-05 18.30.22.png](https://dl.playground.lazycat.cloud/guidelines/559/f167fa87-6daa-44b8-b04f-ddcef1f4c847.png "截屏2026-05-05 18.30.22.png")

## 第二步 - 进入cloudflare控制台
控制台地址: https://dash.cloudflare.com

首先需要有一个域名,也可以直接在cloudflare中购买和托管域名

进入首页后找到zero trust

![截屏2026-05-05 18.36.56.png](https://dl.playground.lazycat.cloud/guidelines/559/172ae086-5d5c-4194-b6c6-f91c852ecaf8.png "截屏2026-05-05 18.36.56.png")

进入后在左侧栏点击网络展开选项栏后再点击选项栏中的连接器选项


![截屏2026-05-05 18.37.47.png](https://dl.playground.lazycat.cloud/guidelines/559/684fd557-268e-4c9c-b2d0-73ab95d6e55e.png "截屏2026-05-05 18.37.47.png")

创建隧道后点击添加连接器选项

![截屏2026-05-05 18.38.03.png](https://dl.playground.lazycat.cloud/guidelines/559/6fcb049e-6bbc-4fcb-8424-45395dba7a08.png "截屏2026-05-05 18.38.03.png")

这时候你就会得到隧道token,复制隧道token,别复制token前面的像cloudflared tunnel run --token 这样的指令

## 第三步 - 启动cloudflare连接器


https://appstore.lazycat.cloud/#/shop/detail/community.lazycat.czyt.cfui

把刚刚得到的隧道token粘贴到输入框中,然后点启动隧道就行了

![截屏2026-05-05 18.33.51.png](https://dl.playground.lazycat.cloud/guidelines/559/9a839880-3ff7-431a-a1f9-18237325b32d.png "截屏2026-05-05 18.33.51.png")

## 第四步 - 配置子域名和服务端口
点击添加已发布应用程序路由

![截屏2026-05-05 18.46.50.png](https://dl.playground.lazycat.cloud/guidelines/559/8bde4a90-8139-4bd5-8893-d41fe0c13671.png "截屏2026-05-05 18.46.50.png")

选择域名后填写子域名,再填写端口转发工具中虚拟网卡的路径和端口即可,参考图片中的示范

![截屏2026-05-05 18.48.19.png](https://dl.playground.lazycat.cloud/guidelines/559/9c12200d-83b5-4507-a4f5-1e4fa3ec7e40.png "截屏2026-05-05 18.48.19.png")

完成填写后点击底部的保存

## 第五步 - 访问你配置的地址查看是否访问成功

![截屏2026-05-05 18.51.15.png](https://dl.playground.lazycat.cloud/guidelines/559/980e19ea-347e-494f-a111-e299be232f01.png "截屏2026-05-05 18.51.15.png")

 感谢你的使用,Mox系列应用以个人数据安全和个人通信主权为目标构建,我们会积极响应反馈和修复错误。
 
 

评论

0

暂无评论

说点什么呢~
收藏
1
0
0