Skip to content

Server Admin Panel

连接的 RoqueOS 服务器的管理面板,嵌入到应用中(Launchpad → Server Admin)。替换 <your-server>:27021/admin 中的旧版 HTML — 它继续作为后备工作(紧急情况、脚本),但本地面板是每天所有事情发生的地方。

始终可用的部分

部分它做什么
监控CPU/RAM/磁盘/Docker 实时、顶级容器
API Keys创建/撤销密钥、查看权限、按密钥的日志
使用历史按 API Key 的日志(请求数、唯一 IP、活动)
Cloudflare Tunneltunnel 的状态、创建/删除路由、子域列表
网络配置的 LAN IP、其他保存的 LAN 用于直接访问
字幕Video Player 的 OpenSubtitles / Subdl 提供商
资源和版本服务器版本、可用更新、活动功能

Server Admin 监视器部分 — 实时 CPU/RAM/Disk

多租户部分(按 flag 门控)

5 个额外部分 仅当在 Admin Panel → Settings → Cloud feature flags 中启用 multiTenant flag 时 出现:

部分它做什么
用户和邀请邀请人们与您一起使用服务器
应用权限策略模板(允许 / 标准 / 限制)
资源使用CPU/RAM/磁盘/带宽聚合(LGPD 友好)
警报通过 email/Slack 的 "使用量 > X% 时通知" 规则
审计日志谁做了什么以及何时(元数据,从不是内容)

为什么按 flag 门控

多租户需要新的 schema(Firestore + 服务器上的 SQLite),在所有部署中尚未即插即用。默认保持开启会暴露 UI 但没有后端就绪。当 roqueos-server 中的 members 模块发货时,flag 将默认为 ON。

如何现在打开(仅 Admin Panel — 不是按用户):

  1. /app 中管理员登录
  2. Launchpad → Admin Panel
  3. Settings → 滚动到 Cloud Product(高级功能)
  4. 打开 Multi-tenant(成员 + 权限 + 警报) → Save
  5. 返回 Server Admin Panel → 侧边栏显示 5 个新项目

用户和邀请

没有人被邀请时的空状态

  • "邀请用户" 按钮打开带有 email + 角色(Owner/Admin/User)的模态
  • 通过服务器的 SMTP 发送带有接受链接的 email
  • 接受后,用户进入带有状态徽章(待处理/活跃/已撤销)的列表
  • 每行的操作菜单允许 撤销访问(返回到已撤销列表,不删除数据)

角色:

  • Owner: 您(每个服务器 1 个)
  • Admin: 管理其他用户和策略,查看所有
  • User: 根据活跃策略使用应用

应用权限

模板 允许 / 标准 / 限制

3 个预配置的模板:

模板谁看什么
允许所有应用对所有角色开放。可信任的小团队。
标准Admin 看所有。User 看生产力、媒体、实用程序(不是 Server Admin)。
限制User 只看 Finder、Notes、Browser 和 Chat。其他一切都隐藏。

应用模板是破坏性的 — 重写现有的每用户覆盖。这就是为什么有 必须的确认模态:

应用模板前的确认模态

模态列出操作的 3 个后果:

  1. ✓ 将服务器策略重写为选定的模板
  2. ⚠ 删除所有现有的每用户覆盖(无法撤消)
  3. ⟲ 之前状态的备份在 /admin/policies/history 中保留 30 天

用户必须单击 应用模板(红色按钮)以确认。取消 是默认。

资源使用

带 LGPD 免责声明的 CPU/RAM/磁盘/带宽

显示聚合消耗的卡片:

  • CPU: 主机的平均使用率 %
  • 内存 RAM: 使用的 GB / 总
  • 磁盘: 使用的 GB / 分配的总
  • 每月带宽: 传输的 GB / Hetzner 配额(标准计划 20 TB)

按阈值着色的带宽:

  • < 75%: 蓝色渐变(健康)
  • 75-90%: 橙色渐变(注意)
  • 90%+: 红色渐变(关键)

LGPD 隐私(页脚的蓝色免责声明): 我们 收集聚合指标(% CPU、MB RAM)。绝不 收集用户文件、会话或对话的内容。

警报

带强制 LGPD 横幅的空状态

页头的 LGPD 横幅(蓝色,始终可见):

LGPD 隐私 — 警报仅观察聚合指标(% CPU、MB RAM)。绝不会观察用户文件、会话或对话的内容。

创建规则:

  • 指标: CPU / RAM / 磁盘 / 带宽
  • 运算符:
  • 阈值: number
  • 通道: email(默认)、Slack/Discord webhook(已计划)
  • 状态: 活跃 / 已禁用(行上的切换)

触发器触发时,警报通过服务器的 SMTP 发送 + 记录在审计日志中。

审计日志

管理事件的表格

LGPD 横幅: 日志仅记录 操作的元数据(谁、何时、类型) — 绝不是操作的内容。

记录的事件:

  • member.invited(email + 角色)
  • member.revoked
  • policy.template_applied(哪个模板)
  • policy.override_changed(用户 X、应用 Y、before/after)
  • alert.triggered(规则 X、值 Y)
  • apikey.created / apikey.revoked
  • server.config.changed

保留: 400 天(与 Google Cloud Data Access Audit Log 标准 LGPD 要求一致)。

公共演示

想在不安装任何东西的情况下体验?https://demo.level-hard.com 是公共演示服务器,由创始人通过 cleanup-demo.sh(每日 cron)更新。限制:

  • 非管理员: 可以使用应用但看不到 Server Admin(windowManagement.js:88 中的安全门)
  • 多租户在演示中故意 OFF(避免污染)
  • 容器 + 文件每天清理

要测试多租户,您需要通过 install.sh 自己安装并翻转 flag。

交叉引用

  • Add Server Wizard — 如何连接新安装的服务器
  • 卷和备份 — 多租户表的数据存储在哪里
  • RoqueOS Cloud — 已激活多租户的托管版本
  • 记忆 multi_user_roles_decision.md(内部) — LGPD 理由 + 架构