Skip to content

🌐 यह पृष्ठ अभी तक हिंदी में अनुवादित नहीं किया गया है। पुर्तगाली (BR) संदर्भ दिखाया जा रहा है। अनुवाद में मदद करें।

Server Admin Panel ​

Painel de administração do servidor RoqueOS conectado, embutido no app (Launchpad → Server Admin). Substitui o HTML legacy em <seu-servidor>:27021/admin — esse continua funcionando como fallback (emergência, scripts), mas o painel nativo é onde tudo acontece no dia a dia.

Antes de começar ​

Você precisa dePor quê
a URL do servidor na porta 27021o painel é servido pelo próprio servidor
uma chave de administradoras seções de gestão exigem papel de admin
o servidor de pépainel que não abre é servidor parado, não painel quebrado

Como se chega ao painel ​

Quando o painel não abre ​

O que acontecePor quêO que fazer
A URL não respondeo servidor está parado, ou a porta está fechadadocker ps no servidor; confira o firewall
Abre e recusa a chavea chave é de outro servidor, ou foi revogadacrie outra pelo primeiro acesso, se não houver nenhuma válida
Faltam as seções de usuárioso multi-tenant está desligado neste servidoré o comportamento esperado; ver Sections multi-tenant
Os gráficos ficam em brancoo painel não está falando com o Dockero cartão do Docker mostra Desconectado quando é isso
Perdi a chave de administradorela só aparece uma vez, na criaçãogere outra pelo painel, ou pelo endpoint de setup se o servidor estiver zerado

Sections sempre disponíveis ​

SectionO que faz
MonitoramentoCPU/RAM/Disco/Docker live, top containers
API KeysCriar/revogar chaves, ver permissões, logs por chave
Histórico de usoLogs por API Key (request count, IPs únicos, atividade)
Cloudflare TunnelStatus do tunnel, criar/remover rotas, lista de subdomínios
RedeIP LAN configurado, outras LANs salvas pra acesso direto
LegendasProvedores OpenSubtitles / Subdl pro Video Player
Recursos & versãoVersão do server, update available, features ativas

Server Admin Monitor section — CPU/RAM/Disk em tempo real

Sections multi-tenant (gateadas por flag) ​

5 sections extras aparecem somente quando a flag multiTenant está ativada em Admin Panel → Settings → Cloud feature flags:

SectionO que faz
Usuários & convitesConvidar pessoas pra usar o servidor com você
Permissões de appsTemplates de policy (Permissivo / Padrão / Restrito)
Uso de recursosCPU/RAM/disco/banda agregados (LGPD-friendly)
AlertasRegras "avisar quando uso > X%" via email/Slack
Log de auditoriaQuem fez o quê e quando (metadata, nunca conteúdo)

Por que gated por flag ​

Multi-tenant exige schema novo (Firestore + SQLite no server) que ainda não está plug-and-play em todos os deploys. Manter ligado por default exporia UI sem backend pronto. Quando o módulo members ship no roqueos-server, a flag vira default ON.

Como ligar agora (Admin Panel apenas — não é por usuário):

  1. Login admin em /app
  2. Launchpad → Admin Panel
  3. Settings → role até Cloud Product (recursos avançados)
  4. Liga Multi-tenant (membros + permissões + alertas) → Save
  5. Volte ao Server Admin Panel → sidebar mostra 5 itens novos

Usuários & convites ​

Empty state quando ninguém foi convidado

  • Botão "Convidar usuário" abre modal com email + role (Owner/Admin/User)
  • Email é enviado pelo SMTP do servidor com link de aceite
  • Após aceitar, usuário entra na lista com badge de status (Pendente/Ativo/Revogado)
  • Menu de ação por linha permite Revogar acesso (volta pra lista de revogados, não deleta dados)

Roles:

  • Owner: você (1 por servidor)
  • Admin: gerencia outros usuários e policies, vê tudo
  • User: usa apps conforme policy ativa

Permissões de apps ​

Templates Permissivo / Padrão / Restrito

3 templates pré-configurados:

TemplateQuem vê o que
PermissivoTodos os apps liberados pra todos os roles. Time pequeno de confiança.
PadrãoAdmin vê tudo. User vê produtividade, mídia, utilitários (não Server Admin).
RestritoUser só vê Finder, Notes, Browser e Chat. Tudo mais escondido.

Aplicar template é destrutivo — reescreve overrides per-user existentes. Por isso tem modal de confirmação obrigatório:

Confirm modal antes de aplicar template

O modal lista as 3 consequências da ação:

  1. ✓ Reescreve as policies do servidor pro template selecionado
  2. ⚠ Apaga todos os overrides per-user existentes (não pode desfazer)
  3. ⟲ Backup do estado anterior fica em /admin/policies/history por 30 dias

Usuário precisa clicar Aplicar template (botão vermelho) pra confirmar. Cancelar é o default.

Uso de recursos ​

CPU/RAM/Disco/Bandwidth com disclaimer LGPD

Cards mostrando consumo agregado:

  • CPU: % uso médio do host
  • Memória RAM: GB usados / total
  • Disco: GB usados / total alocado
  • Banda mensal: GB transferidos / quota Hetzner (20 TB no plano padrão)

Banda colorida por threshold:

  • < 75%: gradient azul (saudável)
  • 75-90%: gradient laranja (atenção)
  • 90%+: gradient vermelho (crítico)

Privacidade LGPD (disclaimer azul no rodapé): coletamos APENAS métricas agregadas (% CPU, MB de RAM). Nunca o conteúdo dos arquivos, sessões ou conversas dos usuários.

Alertas ​

Empty state com banner LGPD obrigatório

Banner LGPD no header (azul, sempre visível):

Privacidade LGPD — Alertas observam SÓ métricas agregadas (% CPU, MB de RAM). NUNCA conteúdo de arquivos, sessões ou conversas do usuário.

Criar regra:

  • Métrica: CPU / RAM / Disco / Banda
  • Operador: ≥
  • Threshold: number
  • Canal: email (default), Slack/Discord webhook (planejado)
  • Status: Ativa / Desativada (toggle na linha)

Quando o trigger fire, alert é enviado pelo SMTP do servidor + registrado no Audit Log.

Log de auditoria ​

Tabela de eventos administrativos

Banner LGPD: o log registra SÓ metadata da ação (quem, quando, tipo) — NUNCA o conteúdo manipulado.

Eventos registrados:

  • member.invited (email + role)
  • member.revoked
  • policy.template_applied (qual template)
  • policy.override_changed (usuário X, app Y, before/after)
  • alert.triggered (regra X, valor Y)
  • apikey.created / apikey.revoked
  • server.config.changed

Retenção: 400 dias (alinhado com requisito Google Cloud Data Access Audit Log padrão LGPD).

Demo público ​

Quer experimentar sem instalar nada? https://demo.level-hard.com é o servidor público de demo, atualizado pelo founder com cleanup-demo.sh (cron diário). Limites:

  • Não-admin: pode usar apps mas não vê Server Admin (gate de segurança em windowManagement.js:88)
  • Multi-tenant intencionalmente OFF no demo (evita poluição)
  • Containers + arquivos limpados diariamente

Pra testar multi-tenant você precisa instalar próprio via install.sh e flipar a flag.

Referências cruzadas ​

  • Add Server Wizard — como conectar o servidor recém-instalado
  • Volumes e backup — onde os dados das multi-tenant tables vivem
  • RoqueOS Cloud — versão gerenciada que já vem com multi-tenant ativado
  • Memory multi_user_roles_decision.md (interna) — racional LGPD + arquitetura