Skip to content

Latest commit

 

History

History
399 lines (289 loc) · 30.8 KB

File metadata and controls

399 lines (289 loc) · 30.8 KB
ServerKit — Implante, gerencie e monitore servidores

ServerKit

Implante, gerencie e monitore servidores.

Um painel de controle de servidores leve e moderno para gerenciar aplicações web, bancos de dados, containers Docker e segurança — sem a complexidade do Kubernetes ou o custo de plataformas gerenciadas.

English | Español | 中文版 | Português


Linux Docker Discord

jhd3197/ServerKit | Trendshift

GitHub Stars Downloads License Python React Flask Nginx Let's Encrypt


Início Rápido · Capturas de Tela · Funcionalidades · Arquitetura · Roadmap · Documentação · Contribuindo · Discord


🚀 Início Rápido

⏱️ Pronto para usar em menos de 2 minutos

Opção 1: Instalação em Uma Linha (Recomendado)

curl -fsSL https://serverkit.ai/install.sh | bash

Funciona no Ubuntu 22.04+, Debian 12+, Fedora e RHEL/Rocky/AlmaLinux 9+. Configura tudo automaticamente.

Opcional: PANEL_DOMAIN=panel.example.com define o domínio e tenta usar o Let's Encrypt; SERVERKIT_OFFLINE_TARBALL=... instala a partir de um tarball local.

Atualização

sudo serverkit update

Atualização atômica blue/green com verificações prévias, backup do banco de dados, migração e rollback automático. Use --dry-run para pré-visualizar, --branch dev para builds de desenvolvimento ou --release [versão] para tarballs de release.

Opção 2: Docker

git clone https://github.com/jhd3197/ServerKit.git
cd ServerKit
cp .env.example .env       # depois edite o .env com suas chaves secretas
docker compose up -d       # acesse em http://localhost

Opção 3: Instalação Manual

Consulte o Guia de Instalação para instruções passo a passo.

Requisitos

Mínimo Recomendado
SO Ubuntu 22.04 LTS Ubuntu 24.04 LTS
CPU 1 vCPU 2+ vCPU
RAM 1 GB 2+ GB
Disco 10 GB 20+ GB
Docker 24.0+ Mais recente

📸 Capturas de Tela

Capturadas em um build de demonstração com dados fictícios — todos os hostnames, IPs, domínios e métricas abaixo são fictícios.

Dashboard Serviços
Dashboard Serviços
Métricas do servidor em tempo real, cartões de KPI e atividade recente Aplicações estáticas, Node.js, Python, PHP e Docker
Docker WordPress
Docker WordPress
Containers, imagens, volumes e redes com CPU/RAM em tempo real Status por site, Ações Rápidas e verificações de saúde ao vivo
Frota de Agentes Marketplace
Frota de Agentes Marketplace
Saúde da frota, distribuição de versões e fila de comandos Templates de aplicações em um clique e extensões instaláveis
Monitoramento Segurança
Monitoramento Segurança
Medidores ao vivo, regras de alerta e canais de notificação Pontuação de postura, ClamAV, integridade de arquivos, firewall, Fail2Ban
Ver todas as capturas de tela
Assistente de IA Detalhe do Serviço
Assistente de IA Detalhe do Serviço
Assistente com tecnologia Prompture que executa ferramentas na sua infraestrutura Deploys, conexão git, uso em tempo real, logs e configurações
Bancos de Dados Console SQL
Bancos de Dados Console SQL
Explorador MySQL / PostgreSQL / SQLite com árvore de origem Execute SQL pelo navegador com uma grade de resultados tipada
Domínios Zonas DNS
Domínios Zonas DNS
Status SSL, acompanhamento de expiração e renovação automática Cloudflare, Route 53, DigitalOcean — edição completa de registros
Backups E-mail
Backups E-mail
Backups agendados com sincronização S3/B2 e restauração em um clique Postfix, Dovecot, OpenDKIM, SpamAssassin e Roundcube
Cron Jobs Gerenciador de Arquivos
Cron Jobs Gerenciador de Arquivos
Editor visual de cron com agendamento legível por humanos Navegue, edite e envie arquivos com uso de disco por ponto de montagem
Logs & Terminal Servidores
Logs & Terminal Servidores
Visualizador de logs, lista de processos, journald e sessões SSH Todos os servidores em um painel com telemetria de CPU/RAM/disco ao vivo
Acesso Remoto Configurações
Acesso Remoto Configurações
Exponha publicamente serviços atrás de NAT via agentes pareados por WireGuard Perfil, aparência/identidade visual, usuários e conexões
Login
Login
Login com e-mail/senha, com suporte a SSO e 2FA

🎯 Funcionalidades

O núcleo está completo em funcionalidades. Novos recursos são entregues como extensões instaláveis pelo Marketplace integrado — o núcleo permanece enxuto e estável, com o trabalho em andamento focado em refinamentos de UI e correções reportadas pela comunidade.

🚀 Aplicações & Deploy

WordPress em Um Clique
Sites PHP-FPM 8.x publicados em subdomínios reais, com pré-visualizações por troca de URL, domínios personalizados e HTTPS wildcard.
Qualquer Stack
Flask/Django no Gunicorn, Node.js no PM2, sites estáticos — a partir do Git, Docker, um caminho manual ou um upload zip.
Docker & Compose
Detecção de atualizações de imagem com aplicação em um clique, suspensão automática de containers ociosos, auto-escalonamento orientado por CPU, logs ao vivo e acesso ao terminal.
Marketplace
Mais de 100 templates de aplicações em um clique sobre um schema declarativo com secrets, hosts e URLs resolvidos automaticamente — nada fixo no código.
Build Packs
Deploys sem Dockerfile: inspeciona um repositório e gera um Dockerfile + compose a partir de um plano de build.
Automações
Automação visual baseada em nós para tarefas, deploys e CI/CD — gatilhos de cron, webhook e eventos, executando em um container gerenciado. Entregue como extensão.
Prévias & Snapshots
Ambientes efêmeros de prévia de PR, além de snapshots de configuração imutáveis e com secrets mascarados, com diff e restauração em um clique.
Projetos & Ambientes
Agrupamento Workspace → Projeto → Ambiente, e um pipeline WordPress prod/staging/dev com promoção de código e banco de dados.

🏗️ Infraestrutura

Domínios & SSL
Virtual hosts Nginx, Let's Encrypt automático com renovação, TLS 1.2+/AEAD reforçado, configurações compatíveis com Cloudflare, CAA automático.
Zonas DNS
Gerenciamento completo de registros no Cloudflare, Route 53 e DigitalOcean — verificações de propagação e DNS dinâmico para IPs que mudam.
Bancos de Dados
MySQL/MariaDB e PostgreSQL com gerenciamento de usuários, árvore de origem ao vivo e um console SQL no navegador.
Provisionamento em Nuvem
Crie servidores na DigitalOcean, Hetzner, Vultr e Linode com acompanhamento de custos.
Hub de Conexões
Provedores Git, nuvens, DNS, registradores, relays SMTP e armazenamento S3/B2 — todas as contas externas em um só lugar, criptografadas em repouso.
Backups
Backups agendados de aplicações/bancos de dados/arquivos para S3, B2 ou local, com políticas de retenção, restauração em um clique e criptografia opcional do lado do cliente.
Arquivos, FTP & Cron
Gerenciador de arquivos web com navegação de buckets S3/B2, gerenciamento de usuários vsftpd e um editor visual de cron.
Servidor de E-mail
Postfix + Dovecot com DKIM/SPF/DMARC, SpamAssassin, webmail Roundcube e regras de encaminhamento.

🔒 Segurança

Firewall de Aplicações Web
ModSecurity v3 + OWASP Core Rule Set por aplicação, com modos de detecção/bloqueio e paranoia ajustável.
Passkeys & 2FA
Login sem senha com WebAuthn (chaves de hardware, Touch ID, Windows Hello) mais TOTP com códigos de recuperação.
Malware & Integridade
Varredura com ClamAV e quarentena, monitoramento de integridade de arquivos e auditorias de vulnerabilidades com Lynis.
SSH & Reforço
Fail2ban, gerenciamento de chaves SSH, listas de permissão/bloqueio de IP e atualizações automáticas de segurança do SO.
Varredura de Containers
Varredura de CVEs por imagem com grype e geração de SBOM com syft.
Secrets Criptografados
Credenciais de provedores e secrets selados com Fernet, além de um gateway de webhooks de entrada para automação externa.

🖥️ Multi-Servidor

Agente Multiplataforma
Agente em Go para Linux, Windows e macOS — autenticação HMAC-SHA256 sobre um gateway WebSocket em tempo real. Serviço nativo do Windows + MSI, .deb/.rpm, ARM64. Mais →
Gerenciamento de Frota
Inventário, fila de aprovação, distribuição escalonada de versões, descoberta automática na LAN e uma fila de comandos offline.
Registro Fácil
Pareamento por código curto com verificação de fingerprint ou tokens pré-compartilhados; credenciais de host armazenadas com criptografia AES-GCM. Mais →
Monitor de Frota
Mapas de calor entre servidores, comparações de métricas, limiares de alerta, detecção de anomalias e previsão de capacidade.
Templates de Servidor
Templates de estado esperado com detecção de desvio, dashboards de conformidade e correção automática.
Túneis de Acesso Remoto
Exponha um serviço privado/atrás de NAT através de um servidor de borda usando WireGuard gerenciado pelo agente — sem redirecionamento de portas.
Onboarding Guiado
Validar → pré-requisitos → Docker → parear agente, com um log de progresso ao vivo.
Proxy por Servidor
Traefik ou Caddy dockerizados e opcionais por servidor, com prévia do compose; o nginx do host continua sendo o padrão.

📊 Monitoramento & Alertas

Métricas em Tempo Real
CPU, RAM, disco e rede via WebSocket, com retenção histórica e acompanhamento de uptime.
Monitoramento de GPU
Utilização, memória e temperatura de GPUs NVIDIA, além de uso por processo e por container.
Páginas de Status
Páginas públicas com verificações HTTP/TCP/DNS/Ping, monitoramento de componentes e gerenciamento de incidentes.
Notificações
Discord, Slack, Telegram, e-mail HTML e webhooks — canais por usuário, filtros de severidade e horários de silêncio.

👥 Equipe & Acesso

Workspaces
Isolamento multi-tenant com quotas e gerenciamento de membros.
RBAC
Papéis de admin/desenvolvedor/visualizador com permissões granulares de leitura/escrita por funcionalidade.
SSO & OAuth
Google, GitHub, OpenID Connect e SAML 2.0 com vinculação de contas.
Chaves de API
Chaves em camadas com rate limiting, escopos refinados, análise de uso e documentação OpenAPI.
Log de Auditoria
Cada ação do usuário registrada, com um dashboard detalhado de atividades.
Webhooks & Configuração Compartilhada
Assinaturas de saída com assinaturas HMAC e retentativas, além de tags e grupos de variáveis compartilhados.

🎨 Personalização

Enxuto por Padrão
O assistente de configuração instala apenas as extensões que correspondem aos seus casos de uso — adicione mais quando quiser pelo Marketplace.
Presets de Barra Lateral
Visões Completa, Hospedagem Web, Admin de E-mail, DevOps ou Mínima, com grupos recolhíveis e layouts por usuário.
Sua Marca
8 cores de destaque predefinidas mais um seletor hexadecimal personalizado, e logo, nome ou banner white-label.
Widgets do Dashboard
Ative e reordene widgets para se adequar ao seu fluxo de trabalho.

🏗️ Arquitetura

Arquitetura do ServerKit: clientes e visitantes públicos chegam a uma camada de borda nginx que divide o tráfego do painel para a API Flask e o tráfego público para os containers das aplicações; o painel ServerKit contém a SPA React, a API REST, o gateway de agentes Socket.IO, os serviços, models, jobs, notificações e o runtime de extensões; uma camada de runtime no mesmo servidor contém os containers Docker das aplicações, os bancos de dados e o estado do painel; uma frota remota de agentes em Go se conecta de volta pelo namespace /agent.

O Nginx termina o TLS e divide o tráfego em dois caminhos: as requisições do painel vão para a API Flask, todo o resto é encaminhado por proxy para o container Docker que serve aquele domínio. O painel mantém seu próprio estado em SQLite ou PostgreSQL, executa trabalho em segundo plano através de um agendador de jobs e de um barramento de notificações, e carrega funcionalidades opcionais a partir do runtime de extensões. Servidores remotos são gerenciados por um agente em Go que se conecta de volta através de um namespace Socket.IO.

Ver como diagrama ASCII
                          ┌──────────────────┐
                          │     INTERNET     │
                          └────────┬─────────┘
                                   │
                                   ▼
┌──────────────────────────────────────────────────────────────────────────┐
│                            YOUR SERVER                                    │
│                                                                           │
│  ┌─────────────────────────────────────────────────────────────────────┐ │
│  │                      NGINX (Reverse Proxy)                          │ │
│  │                         :80 / :443                                  │ │
│  │                                                                     │ │
│  │    app1.com ──┐   app2.com ──┐   api.app3.com ──┐   /api/v1/ ──┐   │ │
│  └───────────────┼──────────────┼──────────────────┼──────────────┼────┘ │
│                  │ proxy_pass   │ proxy_pass       │ proxy_pass   │      │
│                  ▼              ▼                  ▼              │      │
│  ┌────────────────────────────────────────────────────────────┐  │      │
│  │                    DOCKER CONTAINERS                       │  │      │
│  │                                                            │  │      │
│  │    ┌───────────┐    ┌───────────┐    ┌───────────┐        │  │      │
│  │    │ WordPress │    │   Flask   │    │  Node.js  │  ...   │  │      │
│  │    │   :8001   │    │   :8002   │    │   :8003   │        │  │      │
│  │    └─────┬─────┘    └───────────┘    └───────────┘        │  │      │
│  └──────────┼─────────────────────────────────────────────────┘  │      │
│             │                                                     ▼      │
│             │                        ┌─────────────────────────────────┐ │
│             │                        │       SERVERKIT PANEL           │ │
│             │                        │   React SPA · Flask REST API    │ │
│             │                        │   Socket.IO · Jobs · Notify     │ │
│             │                        │   Extension runtime             │ │
│             │                        │   Gunicorn -w 1 (threaded)      │ │
│             │                        └────────────────┬────────────────┘ │
│             ▼                                         │                  │
│  ┌──────────────────────────────────┐   ┌─────────────▼────────────────┐ │
│  │            DATABASES             │   │        PANEL STATE           │ │
│  │  MySQL :3306   PostgreSQL :5432  │   │  SQLite (default) or         │ │
│  │  Redis :6379   MongoDB :27017    │   │  PostgreSQL · Alembic        │ │
│  └──────────────────────────────────┘   └──────────────────────────────┘ │
└───────────────────────────────────────────────────────┼──────────────────┘
                                                        │
                          Socket.IO /agent (HMAC)       │
                          + HTTP long-poll fallback     ▼
                       ┌──────────────────────────────────────┐
                       │   REMOTE SERVERS — Go agent fleet    │
                       │   server A  ·  server B  ·  server C │
                       └──────────────────────────────────────┘

Ver Documentação Completa da Arquitetura → — Fluxo de requisições, plataforma de extensões, sistema de templates, alocação de portas, jobs, notificações e a frota de agentes.


🗺️ Roadmap

O núcleo do ServerKit está completo em funcionalidades — todas as fases centrais planejadas foram entregues, desde a infraestrutura inicial em Flask + React até frotas multi-servidor, SSO, o motor de automação e o marketplace de extensões.

O desenvolvimento agora acontece em duas frentes:

  • 🧩 Extensões — novas funcionalidades são entregues como extensões instaláveis pelo Marketplace (mais de 100 templates em um clique, e crescendo). O núcleo permanece enxuto; você instala apenas o que precisa.
  • ✨ Refinamento do núcleo — refinamentos contínuos de UI/UX e correções para problemas reportados pela comunidade. Nenhuma nova funcionalidade central está planejada.

Histórico completo: ROADMAP.md


📖 Documentação

Documento Descrição
Arquitetura Design do sistema, fluxo de requisições, diagramas
Guia de Instalação Instruções completas de configuração
Guia de Deploy Comandos CLI e deploy em produção
Agente Instale e execute o agente multi-servidor (Linux/Windows/macOS) — repositório separado
Pareamento de Agentes Registro seguro de agentes por código curto
Referência da API Endpoints da API REST
Novas Funcionalidades Referência de endpoints e páginas das funcionalidades mais recentes de dev
Melhorias Guia das dez capacidades de experiência do desenvolvedor, equipe/escala, frota e segurança
Changelog Histórico de releases e mudanças notáveis
Roadmap Roadmap de desenvolvimento e funcionalidades planejadas
Contribuindo Como contribuir

🧱 Stack Tecnológica

Camada Tecnologia
Backend Python 3.11, Flask, SQLAlchemy, Flask-SocketIO, Flask-Migrate
Frontend React 18, Vite, SCSS, Recharts
Banco de Dados SQLite / PostgreSQL
Servidor Web Nginx, Gunicorn (worker único com threads — -w 1 --threads N)
Containers Docker, Docker Compose
Segurança ClamAV, Lynis, Fail2ban, ModSecurity v3 + OWASP CRS, grype, syft, TOTP (pyotp), criptografia Fernet
Autenticação JWT, OAuth 2.0, OIDC, SAML 2.0, WebAuthn / passkeys
E-mail Postfix, Dovecot, SpamAssassin, Roundcube
Agente Go (multi-servidor), HMAC-SHA256, WebSocket

🤝 Contribuindo

Contribuições são bem-vindas! Por favor, leia o CONTRIBUTING.md primeiro.

fork → branch de feature → commit → push → pull request

Áreas prioritárias: Extensões do Marketplace, melhorias de UI/UX, documentação, cobertura de testes.


💛 Apoie o ServerKit

O ServerKit é gratuito e de código aberto. Se ele economiza o seu tempo, você pode ajudar a mantê-lo:

💎 Criptomoedas

Ativo Rede Endereço
Código QR do endereço de doação USDT TRC-20 USDT TRC-20 · Tron TTiCtqLauF1iSW2YGB3b78KmRxRqoLCgeL
Código QR do endereço de doação USDT e ETH ERC-20 USDT / ETH ERC-20 · Ethereum 0xD13D5355Fa214e8317fea2ff192a065BaeC13527
Código QR do endereço de doação de Bitcoin BTC Bitcoin bc1qatx67n3qxdvuv3arc9j8aytk34f22g02k9c7vr
Código QR do endereço de doação de Solana SOL Solana AWXzqtBEgUfteHPQtDegsZ6D5y57M3GGdKPD8rR7h6xu

A TRC-20 tem as taxas mais baixas — normalmente menos de um dólar — e por isso é a opção mais prática para uma doação pequena. O gas da ERC-20 pode custar mais do que a própria doação.

Os códigos QR são gerados localmente por scripts/generate-funding-qr.mjs, que valida o checksum de cada endereço antes de codificá-lo.


🔭 Projetos Relacionados

Faro — Um cliente de desktop moderno para SFTP, FTP, SSH e armazenamento compatível com S3, do mesmo autor. Salve um servidor uma vez e depois navegue pelos seus arquivos em uma visão de painel duplo e abra um terminal sobre a mesma sessão SSH — além de transferências com arrastar e soltar, sincronização de diretórios em um sentido e edição no lugar. Ele ainda tem um Agent Bridge que permite ao Claude Code (ou qualquer agente MCP) executar comandos em um servidor através da sua sessão autenticada, com aprovação por comando e sem compartilhar credenciais.

O ServerKit gerencia seus servidores pelo navegador; o Faro é o companheiro de desktop para transferência de arquivos, shells e trabalho pontual em todos os seus servidores. Baixe uma versão →

LocalKit — Crie sites WordPress locais em um clique. Cada site roda como seu próprio projeto Docker Compose isolado, e você pode enviar código ou enviar/baixar bancos de dados diretamente para o seu servidor ServerKit através da extensão serverkit-localkit.

DeviceKit — Uma plataforma unificada de frota de dispositivos Android e automação de testes. Controle uma frota de dispositivos a partir de um único dashboard — execute automações, transmita telas em tempo real, detecte regressões visuais e depure falhas com análise assistida por IA.


💬 Comunidade

Discord

Entre no Discord para tirar dúvidas, compartilhar feedback ou obter ajuda com sua configuração.


ServerKit — Simples. Moderno. Auto-hospedado.

Reportar Bug · Solicitar Funcionalidade

Feito com ❤️ por Juan Denis