Provisionar
Prepara un servidor para alojar aplicaciones de Vela. Puede usarse cualquier host basado en Debian accesible por SSH. Ejecútalo una vez por servidor, antes del primer despliegue.
Sintaxis
$ vela provision <target> $ vela provision root@example.com El destino es una dirección SSH: un alias de ~/.ssh/config, o user@host. El aprovisionamiento es idempotente — ejecutarlo de nuevo en un servidor ya preparado lo actualiza en lugar de empezar de cero.
Opciones
-i, --identity <file>- Clave privada SSH con la que autenticarse--ssh-port <port>- Puerto SSH--accept-host-keys- Confiar en una clave de host desconocida en la primera conexión (CI)--pb-version <version>- Versión de PocketBase a instalar, por defecto aquella contra la que se desarrolla esta CLI--node-major <version>- Versión mayor de Node.js a instalar, por defecto22
Stack
Vela instala lo siguiente en el servidor:
- Node.js
- Caddy, con HTTPS automático
- PocketBase
- Unidades de systemd para la aplicación y la base de datos
Se crea un usuario del sistema vela para ser el propietario de las aplicaciones y ejecutarlas. A Caddy se le añade una línea import /etc/vela/caddy/*.caddy a su Caddyfile existente — por lo demás, la configuración existente se deja intacta, y el resultado se valida antes de recargar Caddy.
Estructura
Las aplicaciones viven bajo /var/lib/vela, con la configuración en /etc/vela:
/var/lib/vela/apps/<app> releases y datos, por aplicación
/var/lib/vela/state estado de todo el servidor: asignación de puertos, un cerrojo por objetivo
/var/lib/vela/script-versions los scripts de servidor, un directorio por versión de la CLI
/var/lib/vela/trash datos eliminados por una purga, conservados dos semanas
/etc/vela/apps archivos de entorno, legibles solo por root
/etc/vela/caddy fragmentos de Caddy generados, uno por aplicación Cada objetivo desplegado ejecuta dos servicios de systemd, vela-web@ para el servidor de Node y vela-pb@ para la base de datos, en un puerto asignado internamente. Varias aplicaciones y varios objetivos de la misma aplicación pueden compartir un servidor.
Requisitos
Para que el HTTPS se aprovisione automáticamente al desplegar, el servidor debe tener una dirección IP pública y el dominio debe apuntar a ella. Eso es lo que permite a Caddy obtener certificados. El aprovisionamiento necesita root, directamente o mediante sudo.