Server Admin Panel
ऐप में एम्बेडेड कनेक्ट किए गए RoqueOS सर्वर का प्रशासन पैनल (Launchpad → Server Admin)। <your-server>:27021/admin में लीगेसी HTML को बदलता है — यह fallback (आपातकाल, स्क्रिप्ट) के रूप में काम करता है, लेकिन नेटिव पैनल वह जगह है जहां हर दिन सब कुछ होता है।
हमेशा उपलब्ध अनुभाग
| अनुभाग | यह क्या करता है |
|---|---|
| मॉनिटरिंग | CPU/RAM/डिस्क/Docker लाइव, शीर्ष कंटेनर |
| API Keys | कुंजियाँ बनाएं/रद्द करें, अनुमतियाँ देखें, कुंजी द्वारा लॉग |
| उपयोग इतिहास | API Key द्वारा लॉग (request count, अद्वितीय IP, गतिविधि) |
| Cloudflare Tunnel | tunnel की स्थिति, रूट बनाएं/हटाएं, subdomain सूची |
| नेटवर्क | कॉन्फ़िगर किया गया LAN IP, सीधे एक्सेस के लिए अन्य सहेजे गए LAN |
| उपशीर्षक | Video Player के लिए OpenSubtitles / Subdl प्रदाता |
| संसाधन और संस्करण | सर्वर संस्करण, अपडेट उपलब्ध, सक्रिय सुविधाएं |

मल्टी-टेनेंट अनुभाग (flag द्वारा गेट किया गया)
5 अतिरिक्त अनुभाग केवल तब दिखाई देते हैं जब Admin Panel → Settings → Cloud feature flags में multiTenant flag सक्रिय है:
| अनुभाग | यह क्या करता है |
|---|---|
| उपयोगकर्ता और निमंत्रण | आपके साथ सर्वर का उपयोग करने के लिए लोगों को आमंत्रित करें |
| ऐप अनुमतियाँ | पॉलिसी टेम्पलेट (अनुमेय / मानक / प्रतिबंधित) |
| संसाधन उपयोग | CPU/RAM/डिस्क/बैंडविड्थ समेकित (LGPD-अनुकूल) |
| अलर्ट | "उपयोग > X% होने पर सूचित करें" नियम email/Slack के माध्यम से |
| ऑडिट लॉग | किसने क्या किया और कब (metadata, कभी सामग्री नहीं) |
Flag द्वारा गेट क्यों किया गया
मल्टी-टेनेंट के लिए नए schema (Firestore + सर्वर पर SQLite) की आवश्यकता है जो अभी सभी deploys में plug-and-play नहीं है। डिफ़ॉल्ट रूप से चालू रखने से बैकएंड तैयार न होने पर UI उजागर होगा। जब members मॉड्यूल roqueos-server में shipped होगा, flag डिफ़ॉल्ट ON हो जाएगा।
अब इसे कैसे चालू करें (केवल Admin Panel — प्रति उपयोगकर्ता नहीं):
/appमें admin लॉगिन- Launchpad → Admin Panel
- Settings → Cloud Product (उन्नत सुविधाएं) तक स्क्रॉल करें
- Multi-tenant (members + अनुमतियाँ + अलर्ट) चालू करें → Save
- Server Admin Panel पर वापस जाएं → sidebar में 5 नए आइटम दिखाई देते हैं
उपयोगकर्ता और निमंत्रण

- "उपयोगकर्ता आमंत्रित करें" बटन email + role (Owner/Admin/User) के साथ मोडल खोलता है
- स्वीकृति लिंक के साथ सर्वर के SMTP द्वारा email भेजा जाता है
- स्वीकार करने के बाद, उपयोगकर्ता स्थिति बैज (लंबित/सक्रिय/रद्द) के साथ सूची में प्रवेश करता है
- प्रति लाइन क्रिया मेनू एक्सेस रद्द करें की अनुमति देता है (रद्द सूची में वापस जाता है, डेटा नहीं हटाता)
Roles:
- Owner: आप (प्रति सर्वर 1)
- Admin: अन्य उपयोगकर्ताओं और policies को प्रबंधित करता है, सब कुछ देखता है
- User: सक्रिय policy के अनुसार ऐप्स का उपयोग करता है
ऐप अनुमतियाँ

3 पूर्व-कॉन्फ़िगर किए गए टेम्पलेट:
| टेम्पलेट | कौन क्या देखता है |
|---|---|
| अनुमेय | सभी ऐप्स सभी roles के लिए जारी। विश्वसनीय छोटी टीम। |
| मानक | Admin सब कुछ देखता है। User उत्पादकता, मीडिया, उपयोगिताएँ देखता है (Server Admin नहीं)। |
| प्रतिबंधित | User केवल Finder, Notes, Browser और Chat देखता है। बाकी सब छिपा। |
टेम्पलेट लागू करना विनाशकारी है — मौजूदा प्रति-उपयोगकर्ता overrides को फिर से लिखता है। इसीलिए अनिवार्य पुष्टिकरण मोडल है:

मोडल कार्रवाई के 3 परिणाम सूचीबद्ध करता है:
- ✓ सर्वर की policies को चयनित टेम्पलेट के लिए फिर से लिखता है
- ⚠ सभी मौजूदा प्रति-उपयोगकर्ता overrides को हटाता है (पूर्ववत नहीं किया जा सकता)
- ⟲ पिछली स्थिति का बैकअप
/admin/policies/historyमें 30 दिनों के लिए रहता है
उपयोगकर्ता को पुष्टि करने के लिए टेम्पलेट लागू करें (लाल बटन) पर क्लिक करना होगा। रद्द करें डिफ़ॉल्ट है।
संसाधन उपयोग

कुल खपत दिखाने वाले कार्ड:
- CPU: होस्ट का औसत उपयोग %
- मेमोरी RAM: उपयोग किया गया GB / कुल
- डिस्क: उपयोग किया गया GB / आवंटित कुल
- मासिक बैंडविड्थ: स्थानांतरित GB / Hetzner कोटा (मानक प्लान में 20 TB)
threshold के अनुसार रंगित बैंडविड्थ:
- < 75%: नीला gradient (स्वस्थ)
- 75-90%: नारंगी gradient (ध्यान)
- 90%+: लाल gradient (महत्वपूर्ण)
LGPD गोपनीयता (फुटर पर नीला अस्वीकरण): हम केवल समेकित मीट्रिक एकत्र करते हैं (% CPU, MB RAM)। कभी नहीं उपयोगकर्ताओं की फ़ाइलों, सत्रों या वार्तालापों की सामग्री।
अलर्ट

हेडर पर LGPD बैनर (नीला, हमेशा दृश्यमान):
LGPD गोपनीयता — Alerts केवल समेकित मीट्रिक (% CPU, MB RAM) देखते हैं। कभी भी उपयोगकर्ता की फ़ाइलों, सत्रों या वार्तालापों की सामग्री नहीं।
नियम बनाएं:
- मीट्रिक: CPU / RAM / डिस्क / बैंडविड्थ
- ऑपरेटर:
≥ - threshold: number
- चैनल: email (डिफ़ॉल्ट), Slack/Discord webhook (योजित)
- स्थिति: सक्रिय / निष्क्रिय (लाइन पर टॉगल)
जब trigger चलता है, alert सर्वर के SMTP द्वारा भेजा जाता है + Audit Log में दर्ज किया जाता है।
ऑडिट लॉग

LGPD बैनर: लॉग केवल कार्रवाई के metadata दर्ज करता है (कौन, कब, प्रकार) — कभी भी संशोधित सामग्री नहीं।
दर्ज की गई घटनाएं:
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 सार्वजनिक डेमो सर्वर है, founder द्वारा cleanup-demo.sh (दैनिक cron) के साथ अपडेट किया गया है। सीमाएं:
- गैर-admin: ऐप्स का उपयोग कर सकता है लेकिन Server Admin नहीं देखता (
windowManagement.js:88में सुरक्षा गेट) - डेमो में मल्टी-टेनेंट जानबूझकर OFF (प्रदूषण से बचने के लिए)
- कंटेनर + फ़ाइलें दैनिक रूप से साफ़ की जाती हैं
मल्टी-टेनेंट का परीक्षण करने के लिए, आपको install.sh के माध्यम से स्वयं इंस्टॉल करना होगा और flag को flip करना होगा।
क्रॉस संदर्भ
- Add Server Wizard — नए स्थापित सर्वर को कैसे कनेक्ट करें
- Volumes और बैकअप — मल्टी-टेनेंट टेबलों का डेटा कहां रहता है
- RoqueOS Cloud — प्रबंधित संस्करण जो पहले से ही मल्टी-टेनेंट सक्रिय है
- मेमोरी
multi_user_roles_decision.md(आंतरिक) — LGPD तर्क + आर्किटेक्चर