CLI Cliente
Instalando cipi-cli
cipi-cli é um binário Go independente que se comunica com o Cipi REST API do seu local
máquina. Não é necessário SSH – gerencie aplicativos, bancos de dados, certificados SSL e implantações de qualquer
terminal. Os binários estão disponíveis para Linux e macOS (amd64 e arm64).
cipi-cli. Veja cipi api para
instruções de configuração.
Baixar binário
Baixe a versão mais recente para sua plataforma no Página de lançamentos, então:
chmod +x cipi-cli-* sudo mv cipi-cli-* /usr/local/bin/cipi-cli
Construir a partir da fonte
git clone https://github.com/cipi-sh/cli.git cd cli make build sudo make install
Verifique a instalação
$ cipi-cli version cipi-cli v1.2.5 (linux/amd64)
CLI Cliente
Configuração
A perfil é uma conexão nomeada para um servidor Cipi (endpoint API + token). Usar como
tantos perfis quanto você tiver servidores - por exemplo prod, staging, ou
client-a. Você precisa do URL do endpoint API e de um token Sanctum criado com
cipi api token create em cada servidor.
As credenciais são armazenadas por perfil em ~/.cipi/config.json com permissões
0600. Sempre passe um nome de perfil — se você omitir, o CLI solicitará um em vez de
escrevendo silenciosamente para default.
Configuração interativa
Recomendado: armazene o token com api token add. Ajudantes equivalentes são
configure --profile e profiles add:
$ cipi-cli api token add prod Ponto de extremidade Cipi API: https://api.example.com API token: 1|seutoken... Perfil do servidor "prod" salvo → ~/.cipi/config.json $ cipi-cli api token add staging Ponto de extremidade Cipi API: https://staging-api.example.com API token: 1|stagingtoken... "Teste" do perfil do servidor salvo → ~/.cipi/config.json # Same flow via configure / profiles add $ cipi-cli configure --profile prod $ cipi-cli profiles add staging
Configuração não interativa
$ cipi-cli api token add prod \ --endpoint https://api.example.com --token "1|yourtoken..." $ cipi-cli profiles add staging \ --endpoint https://staging.example.com --token "1|yourtoken..."
Mostrar configuração
$ cipi-cli profiles show prod Perfil: produção Ponto final: https://api.example.com Ficha: 1|a8Kz...4f2a $ cipi-cli profiles show # Shows all configured server profiles
CLI Cliente
profiles
Gerencie múltiplas conexões de servidor a partir de um único cipi-cli instalação. Um perfil
é igual a um servidor. Prefixe qualquer comando com um nome de perfil para direcionar esse servidor ou defina um padrão
com profiles use para omitir o prefixo. Os apelidos servers /
server funciona da mesma forma que profiles.
Direcionando um servidor
$ cipi-cli prod apps list $ cipi-cli staging apps show myapp $ cipi-cli prod deploy myapp $ cipi-cli prod ssl install myapp
Com um servidor padrão definido, você pode executar comandos sem o prefixo:
$ cipi-cli profiles use prod Perfil padrão definido como "prod" $ cipi-cli apps list # Uses the prod profile $ cipi-cli staging apps list # Explicit prefix still targets staging
| Comando | Descrição |
|---|---|
| cipi-cli api token adicionar [perfil] | Adicionar ou atualizar endpoint + token API para um perfil de servidor nomeado |
| cipi-cli perfis | Listar servidores configurados (alias: cipi-cli servers) |
| cipi-cli perfis adicionam [nome] [sinalizadores] | Adicione ou atualize um perfil de servidor (igual a configure --profile) |
| Lista de perfis cipi-cli | Listar servidores configurados |
| cipi-cli perfis mostram [perfil] | Mostrar um perfil de servidor ou todos, se omitido |
| Os perfis cipi-cli usam <perfil> | Defina o servidor padrão (alias: profiles default) |
| cipi-cli perfis excluem <perfil> [-y] | Exclua um perfil de servidor local (somente credenciais – nada muda no servidor remoto) |
api token add, profiles adde configure aceite o mesmo
bandeiras: --endpoint e --token (mais --profile quando o nome
não é posicional).
servers / server → profiles;
profiles use → profiles default. Os mesmos comandos de gerenciamento são
também disponível em cipi-cli configure list, configure show,
configure defaulte configure delete - prefiro
profiles ou api token add para armazenar credenciais.
CLI Cliente
apps
Gerencie aplicativos em seu servidor Cipi.
| Comando | Descrição |
|---|---|
| Lista de aplicativos cipi-cli | Listar todos os aplicativos |
| cipi-cli aplicativos mostram <nome> | Mostrar detalhes do aplicativo |
| cipi-cli aplicativos criam [sinalizações] | Crie um novo aplicativo |
| cipi-cli aplicativos editam <nome> [sinalizadores] | Editar um aplicativo |
| cipi-cli aplicativos excluem <nome> [-y] | Excluir um aplicativo |
| cipi-cli aplicativos suspendem <nome> | Coloque um aplicativo off-line (página de manutenção HTTP 503) sem excluí-lo |
| cipi-cli aplicativos cancelam a suspensão de <nome> | Restaure um aplicativo suspenso ao serviço normal |
| cipi-cli registros de aplicativos <nome> [sinalizadores] | Ler logs de aplicativos paginados (nginx, PHP-FPM, Laravel, trabalhador, implantação) |
Criar bandeiras
Editar sinalizadores
Sinalizadores de registros
Exemplos
# List all apps $ cipi-cli apps list # Create a Laravel app $ cipi-cli apps create --user=myapp --domain=myapp.com \ --php=8.5 --repository=git@github.com:acme/myapp.git --branch=main # Create a custom (non-Laravel) app $ cipi-cli apps create --user=landing --domain=landing.acme.com \ --custom --docroot=dist # Edit an existing app $ cipi-cli apps edit myapp --php=8.4 # Suspend staging for maintenance $ cipi-cli apps suspend staging # Read recent deploy logs (page 1 = newest lines) $ cipi-cli apps logs myapp --type=deploy # Paginate older nginx lines $ cipi-cli apps logs myapp --type=nginx --page=2 --per-page=100 # Delete an app (skip confirmation) $ cipi-cli apps delete myapp -y
CLI Cliente
domains
Liste todos os domínios primários e alias de todos os aplicativos no servidor em uma única tabela — a remota
contrapartida de cipi domains no servidor.
Útil para auditar a cobertura de DNS ou detectar domínios faltando SSL antes de uma renovação de certificado.
| Comando | Descrição |
|---|---|
| cipi-cli domínios | Liste todos os domínios e alias em todos os aplicativos |
$ cipi-cli domains TIPO DE APLICATIVO DE DOMÍNIO PHP SSL api.myapp.com alias do meu aplicativo Laravel 8.5 ✓ myapp.com myapp primário Laravel 8,5 ✓ www.myapp.com alias do meu aplicativo Laravel 8.5 ✓ 3 domínios · 1 aplicativo · 3 certificados
GET /api/apps no servidor. Requer
Cipi 4.5.5+ no servidor (para o subjacente
cipi domains data), mas sem versão mínima do pacote API.
CLI Cliente
deploy
Acione implantações, reverta para a versão anterior ou desbloqueie uma implantação travada.
| Comando | Descrição |
|---|---|
| cipi-cli implantar <aplicativo> | Acione uma implantação sem tempo de inatividade |
| cipi-cli implantar reversão <app> [-y] | Reverter para a versão anterior |
| cipi-cli desbloqueio de implantação <app> | Desbloqueie uma implantação travada |
$ cipi-cli deploy myapp Implantando meu aplicativo... Trabalho de votação #42... concluído Implantado na versão #14. Tempo de inatividade zero. $ cipi-cli deploy rollback myapp Revertido para a versão #13.
CLI Cliente
ssl
Instale certificados Let's Encrypt para seus aplicativos.
| Comando | Descrição |
|---|---|
| cipi-cli ssl instalar <aplicativo> | Instale o certificado Let's Encrypt (abrange o domínio primário e todos os aliases) |
$ cipi-cli ssl install myapp Certificado provisionado para myapp.com
CLI Cliente
aliases
Gerenciar aliases de domínio para um aplicativo.
| Comando | Descrição |
|---|---|
| cipi-cli lista de aliases <aplicativo> | Listar todos os aliases de um aplicativo |
| cipi-cli aliases adicionam <app> <domínio> | Adicione um alias de domínio |
| cipi-cli aliases removem <app> <domínio> [-y] | Remover um alias de domínio |
$ cipi-cli aliases add myapp www.myapp.com Alias www.myapp.com adicionado a myapp. $ cipi-cli aliases list myapp www.myapp.com api.myapp.com # Re-run ssl install to include new aliases in the certificate $ cipi-cli ssl install myapp
CLI Cliente
db
Gerenciar bancos de dados MariaDB.
| Comando | Descrição |
|---|---|
| cipi-cli lista de banco de dados | Listar todos os bancos de dados |
| cipi-cli banco de dados cria <nome> | Crie um banco de dados |
| cipi-cli banco de dados excluir <nome> [-y] | Excluir um banco de dados |
| cipi-cli backup de banco de dados <nome> | Crie um backup de banco de dados |
| cipi-cli restauração de banco de dados <nome> [-y] | Restaurar banco de dados do backup |
| cipi-cli senha do banco de dados <nome> [-y] | Regenerar senha e atualizar .env |
$ cipi-cli db list TAMANHO DO NOME meu aplicativo 24,5 MB blog 8,2 MB $ cipi-cli db backup myapp Backup criado: myapp_20260402_143022.sql.gz $ cipi-cli db restore myapp -y Banco de dados restaurado com sucesso.
CLI Cliente
status
Leia o mesmo instantâneo do host que cipi status ligado
o servidor - através GET /api/status. Nu status mostra uma visão geral global
(uma linha por servidor configurado). Passe um nome de perfil (ou use um prefixo de perfil) para obter detalhes completos.
| Comando | Descrição |
|---|---|
| Status cipi-cli | Visão geral global — uma linha por servidor (alias: status all) |
| cipi-cli status <perfil> | Detalhes completos para um servidor |
| cipi-cli status de <perfil> | Mesma visualização de detalhes, via prefixo de perfil |
Colunas globais: NAME, IP, CPU, RAM,
HDD, APPS, SVC, CIPI. O perfil padrão é
marcado com *.
$ cipi-cli status NOME IP CPU RAM HDD APLICATIVOS SVC CIPI produção* 203.0.113.10 12% 48% (3840M) 42G/80G 53% 3 8/8 ok 4.6.3 teste 203.0.113.20 4% 31% (2048M) 18G/40G 45% 1 8/8 ok 4.6.3 * perfil padrão Detalhe: cipi-cli status <nome> $ cipi-cli status prod Status do servidor – produção Ponto final https://api.example.com Nome do host prod-01 IP203.0.113.10 SO Ubuntu 24.04 Tempo de atividade 12 dias Cipi 4.6.3 CPU 12% RAM 3840/8192 MB (48%) HDD 42G/80G (53%) Aplicativos 3
status-view e
GET /api/status no servidor (API 1.11.6+). Crie ou gire o
token com cipi api token create e incluir status-view.
CLI Cliente
jobs
As operações de gravação (criar, editar, excluir, implantar, SSL, etc.) são assíncronas no Cipi API. O CLI
pesquisa automaticamente a conclusão do trabalho e exibe um botão giratório enquanto espera. Se você preferir lidar
sondagem manualmente, use o jobs comandos.
| Comando | Descrição |
|---|---|
| cipi-cli trabalhos mostram <id> | Mostrar status do trabalho |
| cipi-cli trabalhos aguardam <id> | Aguarde a conclusão de um trabalho (bloqueio) |
$ cipi-cli jobs show 42 Trabalho nº 42: implantar myapp – concluído $ cipi-cli jobs wait 43 Esperando pelo trabalho #43... concluído
CLI Cliente
update
Atualizar cipi-cli para a versão mais recente de GitHub. O comando escolhe o
semestre mais alto entre os lançamentos publicados (não o sinalizador “mais recente” de GitHub, que pode
apontar para uma tag mais antiga), baixa o binário correspondente para sua plataforma, verifica seu SHA-256
soma de verificação e substitui o binário em execução no lugar. Aliases: self-update,
upgrade.
| Comando | Descrição |
|---|---|
| cipi-cli atualização | Atualização para o semver mais publicado |
| cipi-cli atualização --force | Reinstale mesmo que já esteja atualizado (permite downgrade) |
$ cipi-cli update Baixando cipi-cli v1.2.5... Soma de verificação verificada. Atualizado para v1.2.5. # Aliases work the same $ cipi-cli self-update $ cipi-cli upgrade # If installed in a system path, use sudo $ sudo cipi-cli update
CLI Cliente
completion
Instale o preenchimento automático do shell para cipi-cli. O caminho recomendado é
completion install, que detecta seu shell, grava o script de conclusão e conecta
em seu arquivo rc (idempotente).
| Comando | Descrição |
|---|---|
| cipi-cli conclusão da instalação | Detectar automaticamente o shell e concluir a instalação |
| cipi-cli conclusão da instalação --shell zsh | Instalar para um shell específico (zsh, bash, ou
fish) |
| cipi-cli conclusão zsh | Imprima o script de conclusão zsh para stdout |
| cipi-cli festa de conclusão | Imprima o script de conclusão do bash em stdout |
| cipi-cli peixe de conclusão | Imprima o script de conclusão do peixe em stdout |
$ cipi-cli completion install Instalando a conclusão do zsh... Conclusão instalada → ~/.cipi/completions/cipi-cli.zsh Conectado em ~/.zshrc # Or pin a shell explicitly $ cipi-cli completion install --shell bash
Para zsh e bash, o script é escrito em ~/.cipi/completions/ e uma linha de origem é
anexado ao seu arquivo shell rc. Para peixes, o script vai para
~/.config/fish/completions/ (carregado automaticamente). Recarregue o shell depois e tente
cipi-cli <TAB>.
CLI Cliente
Bandeiras Globais
Esses sinalizadores estão disponíveis em todos os comandos.
# JSON output for scripting $ cipi-cli apps list --json [{"nome":"meuapp","domínio":"meuapp.com","php":"8.5"}, ...] # Pipe to jq for filtering $ cipi-cli apps list --json | jq '.[].name' "meu aplicativo" "blogue" # Help for a specific command $ cipi-cli apps create --help
Lançamentos
As liberações são automatizadas por meio de ações GitHub. Binários pré-construídos para Linux (amd64/arm64) e macOS (amd64/arm64) são publicados com somas de verificação SHA-256 no GitHub Página de lançamentos.
Código fonte
cipi-cli é open source, licenciado pelo MIT e escrito em Go. Contribuições são bem-vindas em
GitHub.
CLI Cliente
Requisitos
O servidor Cipi deve ter o API pacote instalado e configurado
antes de usar cipi-cli:
$ cipi api <domain> $ cipi api ssl $ cipi api token create
As novas versões do aplicativo PHP devem ser 8.3, 8.4, ou 8.5 (Cipi 4.5.4+). Alguns recursos do CLI dependem do servidor específico e das versões do API:
| Recurso | Mínimo Cipi | Mínimo API |
|---|---|---|
Suspender / cancelar a suspensão (apps suspend) |
4.5.8 | 1.8.1 |
Renomear domínio primário (apps edit --domain) |
4.6.2 | 1.9.0 |
Registros de aplicativos (apps logs) |
— | 1.11.9 |
Status do servidor (status) |
— | GET /api/status + status-view (1.11.6+) |
Mapa de domínio global (domains) |
4.5.5 | - (construído a partir de /api/apps) |