docs Referencia de la CLI

Referencia de la CLI

Instala, actualiza y gestiona tu instancia de DeployKit desde la línea de comandos.

Visión general

@deploykit/cli es la CLI oficial de Node para instalar y operar una instancia de DeployKit: install, update, status, logs, restart y uninstall. Gestiona el propio stack de DeployKit, no tus aplicaciones — esas se gestionan desde el dashboard o la API. Solo funciona en Linux (se niega a ejecutarse en macOS o Windows), así que conéctate a tu VPS por SSH y ejecútala allí.

Instalación

bash
# Global install
npm install -g @deploykit/cli

# Or one-shot via npx
sudo npx @deploykit/cli install --domain deploy.example.com --email you@example.com

Requisitos: VPS Linux (Ubuntu, Debian, RHEL, Alpine), Node.js >= 20, acceso root o sudo, y puertos 80/443 accesibles desde internet. Todos los comandos excepto status y logs deben ejecutarse como root.

deploykit install

Pone en marcha DeployKit en la máquina actual: instala Git, Docker y Docker Compose si faltan, clona la release seleccionada en /opt/deploykit, genera los secretos en .env (o conserva uno existente, actualizando solo el dominio y el email), construye e inicia todos los servicios y, opcionalmente, crea la cuenta de administrador.

bash
sudo deploykit install \
  --domain deploy.example.com \
  --email you@example.com \
  --admin-email admin@example.com \
  --admin-password mypassword123

Si omites --domain o --email en una TTY, pasa a preguntas interactivas. Si la cuenta de administrador no puede crearse automáticamente, el instalador lo indica — abre el dashboard y regístrate; el primer usuario se convierte en admin.

FlagDescripciónPor defecto
--domain <domain>Dominio del dashboard (obligatorio)—
--email <email>Email de Let's Encrypt (obligatorio)—
--admin-email <email>Crea previamente la cuenta de administrador—
--admin-password <pwd>Contraseña del administrador, mín. 8 caracteres—
--dir <path>Directorio de instalación/opt/deploykit
--tag <tag>Instala una release concreta, p. ej. v0.6.0 (la v es opcional)última release
--branch <branch>Instala desde una rama de Git en lugar de una release—

Por defecto la CLI instala el tag semver publicado más alto (las pre-releases se ignoran). Un --tag desconocido falla de inmediato y lista los tags que existen; si el repositorio no tiene ninguna release, recurre a master.

REDIS_PASSWORD: DeployKit v0.6.0 requiere REDIS_PASSWORD en .env, que la CLI todavía no genera. Si una instalación o actualización se detiene con Set REDIS_PASSWORD in .env, ejecuta echo "REDIS_PASSWORD=$(openssl rand -hex 32)" | sudo tee -a /opt/deploykit/.env y vuelve a lanzar el comando.

deploykit update

Lleva la instalación a la última release, reconstruye las imágenes, reinicia el stack y espera a la API. Las migraciones de base de datos se ejecutan automáticamente al arrancar la API. Acepta los mismos flags --tag y --branch que install, así que puedes fijar una release o volver a una anterior (rollback).

bash
sudo deploykit update                 # latest release
sudo deploykit update --tag v0.6.0    # pin (or roll back) to a release
sudo deploykit update --branch master # track unreleased code

deploykit status

Lista los contenedores de DeployKit mediante docker compose ps.

bash
deploykit status

deploykit logs

Sigue en vivo los logs de todos los servicios de DeployKit (docker compose logs -f). Útil al depurar un despliegue fallido o un worker que se comporta mal.

bash
deploykit logs

deploykit restart

Reinicia todos los servicios de DeployKit en el sitio (docker compose restart). Un reinicio no recoge los cambios en .env — para aplicarlos, recrea los contenedores con docker compose -f docker-compose.prod.yml up -d --build desde /opt/deploykit (consulta Configuración).

bash
sudo deploykit restart

deploykit uninstall

Detiene el stack con docker compose down -v, elimina las imágenes de DeployKit y borra el directorio de instalación. Sin --yes te pide que escribas yes, y se niega a ejecutarse de forma no interactiva. --delete-data también borra los backups de /var/backups/deploykit. Docker, los contenedores desplegados por usuarios y deploykit-network nunca se tocan.

bash
sudo deploykit uninstall --yes
sudo deploykit uninstall --yes --delete-data

Advertencia: down -v elimina los volúmenes con nombre del stack — incluidos la base de datos PostgreSQL y los datos de Redis — incluso sin --delete-data. Exporta tu configuración (Settings → Configuration export and import) y copia tus backups fuera del servidor antes de desinstalar.

Flags globales

Todos los subcomandos aceptan --dir <path> para apuntar a una ubicación de instalación distinta de la por defecto, y --help para mostrar el uso:

bash
deploykit --help
deploykit install --help
deploykit --version