管理台
真遇服务端自带一个 owner 专用管理台。它和公开服务跑在同一个程序里,但使用独立端口,默认关闭;开启后你可以在浏览器里管理小组,而不需要改配置文件或调接口。
管理台是 owner(持有者) 的工具。它不是成员端的聊天 / 活动界面,也不会展示讨论内容或媒体明文。
在 server 配置文件中加入:
[admin]enabled = truelisten = "127.0.0.1:18447"public_url = "https://server.example.com"trust_proxy = trueenabled默认false;不开就不监听管理端口。listen建议保持回环,由 Caddy / Nginx 反代;保留/admin前缀。public_url写你实际访问的地址(只写https://域名,不要带/admin)。- 经反代时开
trust_proxy,让管理台识别 HTTPS 与真实 IP。
反代示例(Caddy):
@admin { path /admin*}handle @admin { reverse_proxy 127.0.0.1:18447}首次设置密码
Section titled “首次设置密码”- 启动 server。
- 在数据目录找到
admin-bootstrap.txt(只有服务器本机可读)。 - 打开
https://server.example.com/admin/setup,输入文件里的引导令牌,设置至少 12 位的管理密码。 - 之后从
/admin/login登录。账号固定为owner。
管理密码不是你的持有者私钥,只用于浏览器登录。忘记密码时,在服务器上执行
gather-server admin reset-password,会生成新的引导令牌。Docker 部署请用docker exec -u 65532 gather-server /usr/local/bin/gather-server admin reset-password,保持数据目录文件属主。
- 小组资料:名称、简介、头像、公告。
- 配置:准入方式 A、是否允许成员创建邀请、是否允许成员发起活动。
- 成员:查看公钥指纹、调整组织者 / 成员、封禁或解封。
- 邀请:创建链接 / 引荐邀请,复制 App 深链或网页链接,展示二维码;撤销后不能再用。
- 可见性:是否登记到注册处(
register)、是否出现在公开组目录(public)。 - 审计:谁在什么时候改了什么(不含密码、令牌、邀请明文)。
成员为什么只显示一串 ID?
Section titled “成员为什么只显示一串 ID?”服务端出于隐私设计,只保存成员的公钥指纹,不保存昵称和头像。昵称、头像属于注册处的公开资料,不在 server 的可见范围内。所以管理台里的成员列表是 UUID,而不是“小王 / 小李”。
- 管理台默认只监听本机;公网访问请始终走 HTTPS。
- 不要把
admin-bootstrap.txt发给别人,也不要提交到仓库。 - 不用管理台时可以把
enabled改回false。 - 定期在「设置」里注销不用的会话;换电脑 / 怀疑泄露时注销全部会话并重置密码。