Server Admin Panel
接続されたRoqueOSサーバーの管理パネル、アプリに埋め込まれています(Launchpad → Server Admin)。<your-server>:27021/admin のレガシーHTMLを置き換えます — それはフォールバック(緊急事態、スクリプト)として動作し続けますが、ネイティブパネルが日々のすべての作業の場所です。
常に利用可能なセクション
| セクション | 何をするか |
|---|---|
| モニタリング | CPU/RAM/ディスク/Dockerライブ、トップコンテナ |
| API Keys | キーの作成/取り消し、権限を表示、キー別のログ |
| 使用履歴 | API Keyによるログ(リクエスト数、ユニークIP、アクティビティ) |
| Cloudflare Tunnel | tunnelのステータス、ルートの作成/削除、サブドメインのリスト |
| ネットワーク | 設定されたLAN IP、ダイレクトアクセス用の他のLAN保存 |
| 字幕 | Video PlayerのOpenSubtitles / Subdlプロバイダー |
| リソースとバージョン | サーバーバージョン、更新可能、アクティブな機能 |

マルチテナントセクション(フラグでゲート)
5つの追加セクションは、Admin Panel → Settings → Cloud feature flagsで multiTenant フラグが有効な場合にのみ 表示されます:
| セクション | 何をするか |
|---|---|
| ユーザーと招待 | サーバーを一緒に使うために人々を招待 |
| アプリの権限 | ポリシーテンプレート(許可的 / 標準 / 制限的) |
| リソース使用量 | CPU/RAM/ディスク/帯域幅集計(LGPDフレンドリー) |
| アラート | 「使用量 > X%時に通知」ルール email/Slack経由 |
| 監査ログ | 誰が何をいつ(メタデータ、決して内容ではない) |
なぜフラグでゲートされているか
マルチテナントは新しいスキーマ(FirestoreとサーバーのSQLite)を必要とし、まだすべてのデプロイでプラグアンドプレイではありません。デフォルトでオンに保つと、バックエンドの準備ができていないUIが公開されます。members モジュールが roqueos-server で出荷されたら、フラグはデフォルトでONになります。
今すぐオンにする方法(Admin Panelのみ — ユーザーごとではない):
/appで管理者ログイン- Launchpad → Admin Panel
- Settings → Cloud Product(高度な機能) にスクロール
- Multi-tenant(メンバー + 権限 + アラート) をオン → Save
- Server Admin Panelに戻る → サイドバーに5つの新しいアイテムが表示
ユーザーと招待

- 「ユーザーを招待」ボタンが email + role(Owner/Admin/User)付きモーダルを開く
- サーバーのSMTPで受諾リンク付きのemailが送信されます
- 受諾後、ユーザーはステータスバッジ(保留中/アクティブ/取り消し済み)付きでリストに入ります
- 行のアクションメニューで アクセス取り消し が可能(取り消し済みリストに戻り、データは削除されない)
ロール:
- Owner: あなた(サーバーごとに1)
- Admin: 他のユーザーとポリシーを管理、すべてを見る
- User: アクティブなポリシーに従ってアプリを使用
アプリの権限

3つの事前設定されたテンプレート:
| テンプレート | 誰が何を見るか |
|---|---|
| 許可的 | すべてのアプリがすべてのロールに開放。信頼できる小規模チーム。 |
| 標準 | Adminはすべて見る。Userは生産性、メディア、ユーティリティを見る(Server Adminは見ない)。 |
| 制限的 | UserはFinder、Notes、Browser、Chatのみ見る。他は隠される。 |
テンプレートの適用は破壊的 — 既存のユーザーごとのオーバーライドを書き換えます。そのため 必須の確認モーダル があります:

モーダルにはアクションの3つの結果が一覧されます:
- ✓ サーバーポリシーを選択したテンプレートに書き換え
- ⚠ 既存のすべてのユーザーごとのオーバーライドを削除(取り消し不可)
- ⟲ 以前の状態のバックアップは30日間
/admin/policies/historyに保持
ユーザーは確認のために テンプレートを適用(赤いボタン)をクリックする必要があります。キャンセル がデフォルトです。
リソース使用量

集計消費量を表示するカード:
- CPU: ホストの平均使用率
- メモリRAM: 使用GB / 合計
- ディスク: 使用GB / 割り当てられた合計
- 月次帯域幅: 転送されたGB / Hetznerクォータ(標準プランで20 TB)
しきい値で色付けされた帯域幅:
- < 75%: 青のグラデーション(健全)
- 75-90%: オレンジのグラデーション(注意)
- 90%+: 赤のグラデーション(重大)
LGPDプライバシー(フッターの青の免責事項): 集計メトリクスのみを収集します(% CPU、MB RAM)。ユーザーのファイル、セッション、または会話の 内容は決して 収集しません。
アラート

ヘッダーのLGPDバナー(青、常に表示):
LGPDプライバシー — アラートは集計メトリクス(% CPU、MB RAM)のみを観察します。ユーザーのファイル、セッション、または会話の内容は決してありません。
ルールを作成:
- メトリクス: CPU / RAM / ディスク / 帯域幅
- 演算子:
≥ - しきい値: number
- チャネル: email(デフォルト)、Slack/Discord webhook(計画中)
- ステータス: アクティブ / 無効化(行のトグル)
トリガーが発火すると、サーバーのSMTPでアラートが送信され、監査ログに記録されます。
監査ログ

LGPDバナー: ログは アクションのメタデータ のみを記録します(誰、いつ、タイプ) — 操作された内容は決してありません。
記録されるイベント:
member.invited(email + role)member.revokedpolicy.template_applied(どのテンプレート)policy.override_changed(ユーザーX、アプリY、before/after)alert.triggered(ルールX、値Y)apikey.created/apikey.revokedserver.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 経由で自分でインストールし、フラグをフリップする必要があります。
クロスリファレンス
- Add Server Wizard — 新しくインストールされたサーバーの接続方法
- ボリュームとバックアップ — マルチテナントテーブルのデータがどこに保存されているか
- RoqueOS Cloud — マルチテナントが既に有効になっているマネージドバージョン
- メモリ
multi_user_roles_decision.md(内部) — LGPDの理由 + アーキテクチャ