2. VPS y dominio
En esta sección configuramos el servidor donde se ejecutarán jaleo-api y OpenClaw. Necesitamos instalar Node.js, configurar el dominio y preparar el servidor.
Yo he usado DigitalOcean porque tengo créditos de estudiante de GitHub, pero como he dicho, recomiendo Piensa Solutions. Con Piensa Solutions se podría usar el plan de 1 vCPU, 1 GB RAM y 10 GB de disco y hacer un swap para tener 2 GB de RAM, pero es solo una recomendación para hacerlo más económico. Tienen otros planes si necesitas más.
Paso 1: Conectarse al VPS
Section titled “Paso 1: Conectarse al VPS”Si usas Piensa Solutions, puedes conectarte por SSH:
ssh root@tu-ip-del-vpsSi acabas de crear el VPS, es buena idea actualizar el sistema:
apt update && apt upgrade -yPaso 2: Instalar Node.js
Section titled “Paso 2: Instalar Node.js”Instalamos Node.js 22 (la version LTS actual) usando nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bashsource ~/.bashrcnvm install 22node --version # v22.x.xnpm --version # 10.x.xPaso 3: Instalar PM2
Section titled “Paso 3: Instalar PM2”PM2 es un gestor de procesos para Node.js que mantiene tu aplicacion corriendo 24/7, se reinicia automáticamente si falla y muestra los logs:
npm install -g pm2Lo usaremos más adelante para ejecutar jaleo-api en segundo plano.
Paso 4: Instalar Caddy
Section titled “Paso 4: Instalar Caddy”Caddy es el reverse proxy que usaremos para obtener HTTPS automáticamente con Let’s Encrypt:
apt install -y debian-keyring debian-archive-keyring apt-transport-https curlcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian/deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.listapt updateapt install caddyVerifica que se instalo:
caddy versionPaso 5: Configurar el dominio
Section titled “Paso 5: Configurar el dominio”Asegurate de que tu dominio ya apunta a la IP del VPS. Puedes verificarlo con:
dig tudominio.com +shortdebería devolver la IP de tu VPS.
Paso 6: Configurar Caddy
Section titled “Paso 6: Configurar Caddy”Edita el archivo /etc/caddy/Caddyfile:
nano /etc/caddy/CaddyfileY pon este contenido (reemplaza tudominio.com con tu dominio real):
tudominio.com { reverse_proxy localhost:8888 { header_up Host {host} header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} header_up X-Forwarded-Proto {scheme} }}Reinicia Caddy:
systemctl restart caddyCaddy obtendra automáticamente un certificado SSL de Let’s Encrypt y configurara HTTPS. La primera vez puede tardar unos segundos.
Paso 7: Verificar que HTTPS funciona
Section titled “Paso 7: Verificar que HTTPS funciona”Abre tu navegador y ve a https://tudominio.com. Deberías ver un error de conexión (porque jaleo-api aún no está corriendo), pero el certificado SSL debería ser válido. Si ves el candado en la barra de direcciones, HTTPS está funcionando.
Puedes verificar también con curl:
curl -I https://tudominio.comSi ves HTTP/2 502 o similar, es correcto — significa que Caddy está funcionando pero no hay nada escuchando en el puerto 8888 todavia. Eso lo arreglaremos en el siguiente paso.
Resumen del servidor preparado
Section titled “Resumen del servidor preparado”| Componente | Estado |
|---|---|
| Node.js 22 | Instalado |
| PM2 | Instalado |
| Caddy | Instalado y configurado |
| Dominio | Apuntando al VPS |
| HTTPS | Certificado SSL activo |
Siguiente: Instalar jaleo-api