O painel de controle web opcional

Cipi é, e sempre será, CLI-primeiro. Tudo o que um servidor precisa: aplicativos, bancos de dados, SSL, implantações, backups, firewall — é um único cipi comando por SSH. Mas de v4.7.0 Cipi também envia um opcional painel de controle da web: um Painel self-hosted Laravel que gerencia um ou mais servidores Cipi do navegador, no mesmo RESTAPI o cliente CLI e o uso do módulo WHMCS.

100% opcional. O painel é um pacote separado que você instala apenas se desejar isso. Ignore-o e Cipi será executado exatamente como antes - um CLI enxuto sem daemon, sem superfície da web e nada extra de escuta. Instale-o e sua equipe ou clientes obterão uma interface amigável sem desistir o terminal. Seu servidor, sua escolha.

O painel é uma fina camada visual sobre o API — ele não substitui o CLI nem adiciona um proprietário plano de controle. Qualquer coisa que você fizer no navegador, ainda poderá fazer no terminal e vice-versa. Um único painel pode controlar muitos servidores, por isso também funciona como um cockpit leve para vários servidores.

O que você pode fazer no painel

  • Gerenciar aplicativos — criar, editar, implantar, suspender/cancelar a suspensão e excluir Laravel e aplicativos personalizados; gerenciar aliases, redirecionamentos WWW/apex, SSL (instalar + forçar HTTPS) e HTTP básico autorização.
  • Crie aplicativos Laravel com opções Laravel Octane (FrankenPHP) (API 1.13+ / Cipi 5.0+); visualizações de lista e detalhes mostram FPM vs. Octane.
  • Editar aplicativo .env, gerencie Composer auth.json, corra Artisane execute na lista de permissões Comandos de aplicativos (cipi app run) — requer API 1.14+ / Cipi 5.0.3+ (a saída do terminal suporta Markdown cópia).
  • Escolha um banco de dados motor na criação do aplicativo (mariadb ou pgsql) e gerenciar bancos de dados multimecanismo (API 1.12+ / Cipi 4.8+).
  • Navegue pelo aplicativo e servidor registros com filtro de tipo, paginação e atualização automática.
  • Assistir trabalhos assíncronos em uma sobreposição interativa (spinner + saída do terminal enquanto votação GET /api/jobs/{id}).
  • Ao vivo painel — CPU, memória, disco, serviços e contagem de aplicativos via GET /api/status.
  • Cabine do servidor (API 1.15+ / Cipi 5.0.6+) - gerenciar versões PHP e padrão do sistema, chaves SSH, serviços, notificações SMTP, HTTP verificações de integridade e lista de permissões de IP do painel API do navegador.
  • Registre-se e alterne entre vários servidores de um login.

Requisitos

O painel se comunica com seus servidores exclusivamente através do Cipi REST API. Antes de instalá-lo, certifique-se cada servidor que você deseja gerenciar tem o API habilitado com um token que cobre todo o conjunto de habilidades.

Cada servidor gerenciado precisa cipi api instalado e um Token de portador com todas as habilidades. Veja o API guia de configuração para gerar um.
  • Um servidor Cipi em execução (Ubuntu 24.04/26.04) para hospedar o painel — este pode ser um dos servidores você gerencia ou uma pequena caixa dedicada.
  • Um domínio (ou subdomínio) apontado para esse servidor, por ex. panel.example.com.
  • cipi api ativado em todos os servidores que você deseja controlar, cada um com capacidade total token (inclui www-manage, status-viewe para ferramentas de aplicativos apps-env, apps-auth, apps-artisan, apps-run, apps-deploy-config). Para cockpit de servidor (PHP, SSH, serviços, SMTP, integridade, lista de permissões de IP), servidores gerenciados precisam de API1.15+ e Cipi 5.0.6+. Para .env / auth.json / Artisan / App commands, managed servers need API 1.14+ e Cipi 5.0.3+. Para Octane crie e Indicadores FPM/Octane, API 1.13+ e Cipi 5.0+. Para multimecanismo MariaDB/PostgreSQL e redirecionamentos www, API 1.12+ e Cipi 4.8+.

PHP, o pool FPM, o Nginx vhost e o agendador são todos provisionados para você pelo instalador — você não configura um ambiente Laravel manualmente.

Instalação — cipi gui <domain>

Um comando provisiona todo o painel em um servidor Cipi: um pool PHP-FPM dedicado, um vhost Nginx para seu domínio e um trabalho do agendador cron. O aplicativo Laravel está incluído em /opt/cipi/gui, o mesmo modelo utilizado pelo cipi-api pacote.

festa
cipi gui panel.example.com

O instalador solicita interativamente a primeira conta de administrador – um e-mail e uma senha. A senha deve satisfazer a política do painel:

  • Mínimo 12 caracteres.
  • Pelo menos uma maiúscula, uma minúscula, um dígito e um caractere especial.
  • Não mais do que 4 idênticos consecutivos personagens.

A configuração é gravada em /etc/cipi/gui.json. Assim que o comando terminar, abra seu domínio em um navegador e faça login com a conta de administrador que você acabou de criar.

O painel é servido em HTTP simples até você emitir um certificado. Corre cipi gui ssl logo após a instalação para protegê-lo.

SSL — cipi gui ssl

Emita um certificado Let's Encrypt gratuito para o domínio do painel e mude-o para HTTPS. O painel é HTTPS reconhece e define os cabeçalhos encaminhados corretos atrás do Cipi Nginx vhost.

festa
cipi gui ssl

O certificado é renovado automaticamente por meio da mesma renovação ACME que Cipi usa para domínios de aplicativos.

Autenticação de dois fatores (TOTP)

O painel usa login de sessão clássico e suporta opcional TOTP de dois fatores autenticação. Cada administrador pode registrar um aplicativo autenticador (Google Authenticator, 1Password, Aegis,…) do seu perfil. 2FA é opcional por usuário, não forçado.

Se um administrador perder acesso ao seu segundo fator, um operador com acesso shell poderá limpá-lo do servidor com cipi gui reset-user, que reescreve a conta e remove a inscrição 2FA.

Atualizando - gui update contra gui upgrade

O painel é enviado como cipi/gui Composer pacote, então as atualizações são normais Composer atualizações mais migrações. Dois comandos cobrem os casos comuns:

cipi gui update - atualização suave

Corre composer update cipi/gui, aplica migrações de banco de dados e atualiza o compilado tema. Este é o caminho de atualização diário.

festa
cipi gui update

cipi gui upgrade - reconstrução completa

Reconstrói o painel do zero. Use-o após um lançamento principal ou se um ambiente tiver mudado e um A reinstalação limpa do código do aplicativo é o caminho mais rápido de volta a um estado bom.

festa
cipi gui upgrade

cipi gui refresh-theme - apenas tema

Recompila e recarrega o tema do painel sem tocar no código ou no banco de dados – útil após um tema ajustar.

festa
cipi gui refresh-theme

Operações

cipi gui status

Relate o status atual do painel — se ele está instalado, seu domínio e a integridade de seu serviços.

festa
cipi gui status

cipi gui fix-permissions

Repare o PHP-FPM do painel open_basedir restrição e todas as permissões de arquivo de tempo de execução. Execute-o se o painel começar a gerar erros de permissão ou carregamento automático após uma atualização - incluindo o HTTP 500 depois cipi gui upgrade / soft update fixed in 5.0.18 (Composer link simbólico para cipi/gui fora open_basedir).

festa
cipi gui fix-permissions

cipi gui reset-user

Reescreva o e-mail, nome e senha de um administrador e limpe sua inscrição 2FA – o caminho de recuperação quando alguém está bloqueado. reset-password é um alias para o mesmo comando.

festa
cipi gui reset-user

Removendo o painel — cipi gui remove

Desinstale o painel e seu vhost Nginx, pool PHP-FPM e agendador. Seus servidores e aplicativos são intocado — o painel é apenas um cliente do API. uninstall é um apelido e --force ignora o prompt de confirmação.

festa
cipi gui remove
cipi gui remove --force

A remoção do painel é a expressão máxima de sua opcionalidade: desinstale-o a qualquer momento e Cipi estará pronto. de volta a um CLI puro, exatamente como era antes.

Arquitetura

O painel é um padrão Laravel 12 aplicativo distribuído como o cipi/gui pacote de seu próprio repositório (cipi-sh/gui) e instalado através de um Composer Rastreamento de entrada VCS dev-main. Ele mora em /opt/cipi/gui, espelhamento como o cipi-api pacote está empacotado.

AspectoDetalhe
EstruturaLaravel 12
Pacotecipi/gui (API cipi-sh/gui, Composer VCS dev-main)
Caminho de instalação/opt/cipi/gui
Configuração/etc/cipi/gui.json
IsolamentoPHP-FPM open_basedir restrito a /opt/cipi/gui/ e /opt/cipi/cipi-gui/ (desde 5.0.18)
AutenticaçãoLogin de sessão + TOTP 2FA opcional
EmpregosNenhum trabalhador de fila local — trabalhos assíncronos remotos são pesquisados através de cada servidor gerenciado cipi api

Como ele não contém nenhum trabalhador de fila local e não armazena nenhum estado de servidor próprio, o painel permanece stateless em relação à sua infraestrutura: ele autentica no API de cada servidor, envia trabalhos, e pesquisa seu status. Derrube o painel e reconstrua-o em outro lugar sem tocar em nenhum servidor gerenciado.

API cobertura

O GUI consome toda a superfície Cipi API OpenAPI. Mantenha o painel e cada servidor gerenciado cipi/api pacote atual (cipi gui update / cipi api update) então crie formulários e os campos de lista correspondam ao servidor.

Área Cobertura
Servidor GET /api/status
Aplicativos CRUD, autenticação básica, logs, .env, auth.json, Artisan, comandos do aplicativo (app run); criar aceita engine (mariadb/pgsql) e octane (FrankenPHP, API 1.13+); env/auth/run precisa de API 1.14+; listar/mostrar exposição octane / octane_port
Implantar configuração Botões do Deployer estruturado via /api/apps/{name}/deploy-config (API 1.14+)
Aliases Listar, adicionar, remover
WWW Status, adicionar contraparte, forçar para root / forçar de root, limpar (www-manage; API 1.12+)
Implantar Implantar, reverter, desbloquear
SSL Instale Let's Encrypt, force o redirecionamento de HTTPS
Bancos de dados Motores + lista (sincronização); criar/excluir/backup/restaurar/senha com opcionalengine (assíncrono; API 1.12+)
Empregos Status da pesquisa e saída CLI
Prefere o terminal? Veja o CLI cliente para o mesmo API orientado gerenciamento do seu shell, ou o cipi api e Módulo WHMCS para automação. Fonte do pacote: cipi-sh/gui.