CLI Cliente
Instalando cipi-cli
cipi-cli es un binario Go independiente que se comunica con Cipi REST API de su local
máquina. No se requiere SSH: administre aplicaciones, bases de datos, certificados SSL e implementaciones desde cualquier
terminales. Los binarios están disponibles para Linux y macOS (amd64 y arm64).
cipi-cli. Ver cipi api para
instrucciones de configuración.
Descargar binario
Descargue la última versión para su plataforma desde Página de lanzamientos, entonces:
chmod +x cipi-cli-* sudo mv cipi-cli-* /usr/local/bin/cipi-cli
Construir desde la fuente
git clone https://github.com/cipi-sh/cli.git cd cli make build sudo make install
Verificar la instalación
$ cipi-cli version cipi-cli v1.2.5 (linux/amd64)
CLI Cliente
Configuración
A perfil es una conexión con nombre a un servidor Cipi (punto final API + token). Usar como
Tantos perfiles como servidores tengas, por ejemplo. prod, staging, o
client-a. Necesita la URL del punto final API y un token de Sanctum creado con
cipi api token create en cada servidor.
Las credenciales se almacenan por perfil en ~/.cipi/config.json con permisos
0600. Pase siempre un nombre de perfil; si lo omite, CLI solicita uno en lugar de
escribiendo en silencio a default.
Configuración interactiva
Recomendado: guarde el token con api token add. Los ayudantes equivalentes son
configure --profile y profiles add:
$ cipi-cli api token add prod Cipi API punto final: https://api.example.com API token: 1|tu token... Perfil de servidor "prod" guardado → ~/.cipi/config.json $ cipi-cli api token add staging Cipi API punto final: https://staging-api.example.com API token: 1|token de preparación... Perfil de servidor "ensayo" guardado → ~/.cipi/config.json # Same flow via configure / profiles add $ cipi-cli configure --profile prod $ cipi-cli profiles add staging
Configuración no interactiva
$ 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 configuración
$ cipi-cli profiles show prod Perfil: prod Punto final: https://api.example.com Ficha: 1|a8Kz...4f2a $ cipi-cli profiles show # Shows all configured server profiles
CLI Cliente
profiles
Administre múltiples conexiones de servidor desde un solo cipi-cli instalación. Un perfil
equivale a un servidor. Anteponga cualquier comando con un nombre de perfil para apuntar a ese servidor, o establezca un valor predeterminado
con profiles use para omitir el prefijo. Los alias servers /
server trabajar igual que profiles.
Apuntando a un servidor
$ cipi-cli prod apps list $ cipi-cli staging apps show myapp $ cipi-cli prod deploy myapp $ cipi-cli prod ssl install myapp
Con un servidor predeterminado configurado, puede ejecutar comandos sin el prefijo:
$ cipi-cli profiles use prod Perfil predeterminado establecido en "prod" $ cipi-cli apps list # Uses the prod profile $ cipi-cli staging apps list # Explicit prefix still targets staging
| Comando | Descripción |
|---|---|
| cipi-cli api token agregar [perfil] | Agregar o actualizar API punto final + token para un perfil de servidor con nombre |
| cipi-cli perfiles | Lista de servidores configurados (alias: cipi-cli servers) |
| cipi-cli perfiles agregan [nombre] [banderas] | Agregar o actualizar un perfil de servidor (igual que configure --profile) |
| cipi-cli lista de perfiles | Listar servidores configurados |
| Los perfiles cipi-cli muestran [perfil] | Mostrar un perfil de servidor, o todos si se omite |
| Los perfiles cipi-cli utilizan <perfil> | Establezca el servidor predeterminado (alias: profiles default) |
| cipi-cli perfiles eliminar <perfil> [-y] | Eliminar un perfil de servidor local (solo credenciales; nada cambia en el servidor remoto) |
api token add, profiles add, y configure aceptar lo mismo
banderas: --endpoint y --token (más --profile cuando el nombre
no es posicional).
servers / server → profiles;
profiles use → profiles default. Los mismos comandos de gestión son
también disponible bajo cipi-cli configure list, configure show,
configure default, y configure delete - preferir
profiles o api token add para almacenar credenciales.
CLI Cliente
apps
Administre aplicaciones en su servidor Cipi.
| Comando | Descripción |
|---|---|
| cipi-cli lista de aplicaciones | Listar todas las aplicaciones |
| Las aplicaciones cipi-cli muestran <nombre> | Mostrar detalles de la aplicación |
| cipi-cli aplicaciones crean [banderas] | Crear una nueva aplicación |
| cipi-cli aplicaciones editan <nombre> [banderas] | Editar una aplicación |
| cipi-cli aplicaciones eliminan <nombre> [-y] | Eliminar una aplicación |
| cipi-cli aplicaciones suspenden <nombre> | Desconectar una aplicación (HTTP página de mantenimiento 503) sin eliminarla |
| cipi-cli aplicaciones reactivan <nombre> | Restaurar una aplicación suspendida al servicio normal |
| cipi-cli registros de aplicaciones <nombre> [banderas] | Leer registros de aplicaciones paginadas (nginx, PHP-FPM, Laravel, trabajador, implementación) |
Crear banderas
Editar banderas
Banderas de registros
Ejemplos
# 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
Enumere todos los dominios principales y alias de todas las aplicaciones del servidor en una sola tabla: el control remoto
contraparte de cipi domains en el servidor.
Útil para auditar la cobertura de DNS o detectar dominios que faltan SSL antes de la renovación de un certificado.
| Comando | Descripción |
|---|---|
| cipi-cli dominios | Enumere todos los dominios y alias en todas las aplicaciones |
$ cipi-cli domains TIPO DE TIPO DE APLICACIÓN DE DOMINIO PHP SSL api.myapp.com alias de mi aplicación Laravel 8.5 ✓ myapp.com myapp principal Laravel 8.5 ✓ www.myapp.com alias de myapp Laravel 8.5 ✓ 3 dominios · 1 aplicación · 3 certificados
GET /api/apps en el servidor. requiere
Cipi 4.5.5+ en el servidor (para el subyacente
cipi domains datos) pero no hay una versión mínima del paquete API.
CLI Cliente
deploy
Active implementaciones, retroceda a la versión anterior o desbloquee una implementación atascada.
| Comando | Descripción |
|---|---|
| cipi-cli implementar <aplicación> | Activar una implementación sin tiempo de inactividad |
| cipi-cli implementar reversión <aplicación> [-y] | Retroceder a la versión anterior |
| cipi-cli implementar desbloquear <aplicación> | Desbloquear una implementación atascada |
$ cipi-cli deploy myapp Implementando mi aplicación... Trabajo de votación #42... completado Implementado para la versión 14. Cero tiempo de inactividad. $ cipi-cli deploy rollback myapp Regresado a la versión n.° 13.
CLI Cliente
ssl
Instale certificados Let's Encrypt para sus aplicaciones.
| Comando | Descripción |
|---|---|
| cipi-cli ssl instalar <aplicación> | Instale el certificado Let's Encrypt (cubre el dominio principal y todos los alias) |
$ cipi-cli ssl install myapp Certificado proporcionado para myapp.com
CLI Cliente
aliases
Administrar alias de dominio para una aplicación.
| Comando | Descripción |
|---|---|
| cipi-cli lista de alias <aplicación> | Enumerar todos los alias de una aplicación |
| cipi-cli alias agregan <aplicación> <dominio> | Agregar un alias de dominio |
| cipi-cli alias eliminar <aplicación> <dominio> [-y] | Eliminar un alias de dominio |
$ cipi-cli aliases add myapp www.myapp.com Alias www.myapp.com agregado 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
Administrar MariaDB bases de datos.
| Comando | Descripción |
|---|---|
| cipi-cli lista de bases de datos | Listar todas las bases de datos |
| cipi-cli base de datos crear <nombre> | Crear una base de datos |
| cipi-cli db eliminar <nombre> [-y] | Eliminar una base de datos |
| cipi-cli copia de seguridad de base de datos <nombre> | Crear una copia de seguridad de la base de datos |
| cipi-cli restauración de base de datos <nombre> [-y] | Restaurar la base de datos desde la copia de seguridad |
| cipi-cli contraseña de base de datos <nombre> [-y] | Regenerar contraseña y actualizar .env |
$ cipi-cli db list NOMBRE TAMAÑO miaplicación 24,5 MB blog 8,2MB $ cipi-cli db backup myapp Copia de seguridad creada: myapp_20260402_143022.sql.gz $ cipi-cli db restore myapp -y Base de datos restaurada exitosamente.
CLI Cliente
status
Lea la misma instantánea del host que cipi status en
el servidor - a través de GET /api/status. desnudo status muestra una visión global
(una fila por servidor configurado). Pase un nombre de perfil (o utilice un prefijo de perfil) para obtener todos los detalles.
| Comando | Descripción |
|---|---|
| cipi-cli estado | Descripción general global: una fila por servidor (alias: status all) |
| cipi-cli estado <perfil> | Detalles completos para un servidor |
| cipi-cli estado de <perfil> | Misma vista detallada, mediante prefijo de perfil |
Columnas globales: NAME, IP, CPU, RAM,
HDD, APPS, SVC, CIPI. El perfil predeterminado es
marcado con *.
$ cipi-cli status NOMBRE IP CPU RAM HDD APLICACIONES SVC CIPI producto* 203.0.113.10 12% 48% (3840M) 42G/80G 53% 3 8/8 bien 4.6.3 puesta en escena 203.0.113.20 4% 31% (2048M) 18G/40G 45% 1 8/8 ok 4.6.3 * perfil predeterminado Detalle: cipi-cli estado <nombre> $ cipi-cli status prod Estado del servidor: producción Punto final https://api.example.com Nombre de host prod-01 IP 203.0.113.10 SO Ubuntu 24.04 Tiempo de actividad 12 días Cipi 4.6.3 CPU 12% RAM 3840/8192MB (48%) Disco duro 42G/80G (53%) Aplicaciones 3
status-view y
GET /api/status en el servidor (API 1.11.6+). Crear o rotar el
ficha con cipi api token create e incluir status-view.
CLI Cliente
jobs
Las operaciones de escritura (crear, editar, eliminar, implementar, SSL, etc.) son asincrónicas en Cipi API. El CLI
sondea automáticamente la finalización del trabajo y muestra una rueda giratoria mientras espera. Si prefieres manejar
sondeo manualmente, utilice el jobs comandos.
| Comando | Descripción |
|---|---|
| Los trabajos cipi-cli muestran <id> | Mostrar estado del trabajo |
| cipi-cli trabajos en espera <id> | Esperar a que se complete un trabajo (bloqueo) |
$ cipi-cli jobs show 42 Trabajo n.° 42: implementar myapp: completado $ cipi-cli jobs wait 43 Esperando el trabajo #43... completado
CLI Cliente
update
Actualizar cipi-cli a la versión más reciente de GitHub. El comando elige el
semver más alto entre los lanzamientos publicados (no el indicador "más reciente" de GitHub, que puede
apunta a una etiqueta anterior), descarga el binario coincidente para su plataforma, verifica su SHA-256
suma de comprobación y reemplaza el binario en ejecución en su lugar. Alias: self-update,
upgrade.
| Comando | Descripción |
|---|---|
| cipi-cli actualización | Actualizar al semestre más alto publicado |
| cipi-cli actualización --force | Reinstale incluso si ya está actualizado (permite degradar) |
$ cipi-cli update Descargando cipi-cli v1.2.5... Suma de comprobación verificada. Actualizado a 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
Instalar el autocompletado de shell para cipi-cli. El camino recomendado es
completion install, que detecta su shell, escribe el script de finalización y enlaza
en su archivo rc (idempotente).
| Comando | Descripción |
|---|---|
| cipi-cli instalación completa | Detectar automáticamente el shell y finalizar la instalación |
| cipi-cli finalización de la instalación --shell zsh | Instalar para un shell específico (zsh, bash, o
fish) |
| cipi-cli finalización zsh | Imprima el script de finalización de zsh en stdout |
| cipi-cli finalización de fiesta | Imprima el script de finalización de bash en la salida estándar |
| cipi-cli pez de finalización | Imprima el script de finalización del pescado en la salida estándar |
$ cipi-cli completion install Instalando finalización de zsh... Finalización instalada → ~/.cipi/completions/cipi-cli.zsh Conectado a ~/.zshrc # Or pin a shell explicitly $ cipi-cli completion install --shell bash
Para zsh y bash, el script está escrito en ~/.cipi/completions/ y una línea fuente es
adjunto a su archivo rc de shell. Para el pescado, el guión va a
~/.config/fish/completions/ (cargado automáticamente). Vuelva a cargar el shell después, luego intente
cipi-cli <TAB>.
CLI Cliente
Banderas globales
Estas banderas están disponibles en todos los comandos.
# JSON output for scripting $ cipi-cli apps list --json [{"nombre":"miaplicación","dominio":"miaplicación.com","php":"8.5"}, ...] # Pipe to jq for filtering $ cipi-cli apps list --json | jq '.[].name' "miaplicación" "blog" # Help for a specific command $ cipi-cli apps create --help
Lanzamientos
Los lanzamientos se automatizan mediante GitHub acciones. Binarios prediseñados para Linux (amd64/arm64) y macOS (amd64/arm64) se publican con sumas de comprobación SHA-256 en el GitHub Página de lanzamientos.
código fuente
cipi-cli es open source, tiene licencia del MIT y está escrito en Go. Se aceptan contribuciones en
GitHub.
CLI Cliente
Requisitos
El servidor Cipi debe tener la paquete API instalado y configurado
antes de usar cipi-cli:
$ cipi api <domain> $ cipi api ssl $ cipi api token create
Las nuevas versiones de la aplicación PHP deben ser 8.3, 8.4, o 8.5 (Cipi 4.5.4+). Algunas funciones de CLI dependen del servidor específico y de las versiones de API:
| Característica | Mínimo Cipi | Mínimo API |
|---|---|---|
Suspender/reanudar (apps suspend) |
4.5.8 | 1.8.1 |
Cambiar el nombre del dominio principal (apps edit --domain) |
4.6.2 | 1.9.0 |
Registros de aplicaciones (apps logs) |
— | 1.11.9 |
Estado del servidor (status) |
— | GET /api/status + status-view (1.11.6+) |
Mapa de dominio global (domains) |
4.5.5 | — (construido a partir de /api/apps) |