Skip to content

3. Instalar jaleo-api

Ahora vamos a instalar la API de Jaleo en tu VPS. Esta es la pieza que conecta con Spotify y gestiona los tokens OAuth.

Terminal window
cd /root
git clone https://github.com/feeerraaan/jaleo.git
cd jaleo
Terminal window
npm install

Esto instalará Express, Axios, SQLite3, dotenv y el resto de dependencias.

Copia el archivo de ejemplo:

Terminal window
cp .env.example .env

Edita el archivo .env:

Terminal window
nano .env

Y rellena con tus valores:

PORT=8888
BASE_URL=https://tudominio.com
SPOTIFY_CLIENT_ID=tu_client_id_de_spotify
SPOTIFY_CLIENT_SECRET=tu_client_secret_de_spotify
REDIRECT_URI=https://tudominio.com/callback
VariableQué ponerEjemplo
PORTEl puerto donde escucha la API. Deja 8888.8888
BASE_URLTu dominio con HTTPS. Se usa para generar enlaces de vinculación.https://jaleo.miejemplo.com
SPOTIFY_CLIENT_IDEl Client ID de tu app de Spotify (lo obtuviste en el paso 1).60561c99861…
SPOTIFY_CLIENT_SECRETEl Client Secret de tu app de Spotify.f5c6420b433…
REDIRECT_URITu dominio + /callback con HTTPS. Debe coincidir con lo que pusiste en Spotify Developer Dashboard.https://jaleo.miejemplo.com/callback

Arranca la API manualmente para verificar:

Terminal window
node index.js

Deberías ver:

🚀 Jaleo API Online (Puerto 8888)

Abre otra terminal (o usa curl desde el VPS):

Terminal window
curl http://localhost:8888

Deberías recibir la landing page HTML.

Si funciona, para el servidor con Ctrl+C.

Ahora vamos a poner la API en segundo plano con PM2 para que se mantenga ejecutándose:

Terminal window
pm2 start index.js --name jaleo-api
pm2 save
pm2 startup

El último comando (pm2 startup) genera un comando que tienes que ejecutar para que PM2 se inicie automáticamente cuando el servidor se reinicie. PM2 te mostrará el comando exacto algo como:

Terminal window
sudo env PATH=$PATH:/root/.nvm/versions/node/v22.x.x/bin /root/.nvm/versions/node/v22.x.x/lib/node_modules/pm2/bin/pm2 startup systemd -u root --hp /root

Ejecuta el comando que te muestre PM2.

Terminal window
pm2 status # Ver estado de los procesos
pm2 logs jaleo-api # Ver los logs en tiempo real
pm2 restart jaleo-api # Reiniciar la API
pm2 stop jaleo-api # Parar la API
pm2 delete jaleo-api # Eliminar el proceso

Paso 6: Verificar que Caddy y la API funcionan juntos

Section titled “Paso 6: Verificar que Caddy y la API funcionan juntos”

Ahora que jaleo-api está corriendo en el puerto 8888 y Caddy está configurado como reverse proxy, deberías poder acceder:

Terminal window
curl -I https://tudominio.com

Deberías recibir un 200 OK o ver el HTML de la landing page. Si ves un error 502, revisa que jaleo-api esté corriendo con pm2 status.

Abre tu navegador y ve a https://tudominio.com. Deberías ver la landing page de Jaleo con el equalizador animado.

Paso 7: Personalizar las páginas (opcional)

Section titled “Paso 7: Personalizar las páginas (opcional)”

Puedes editar los archivos HTML para personalizar la landing page y la página de vinculación:

  • landing.html - página de inicio pública. Busca YOUR_PHONE_NUMBER y reemplázalo por tu número de WhatsApp (sin el +, solo números, código de país incluido). Por ejemplo: 34612345678 para España.
  • callback.html - página de confirmación que se muestra después de vincular Spotify. Muestra los comandos disponibles.

Después de editar, reinicia la API:

Terminal window
pm2 restart jaleo-api

Siguiente: Configurar reverse proxy (Caddy)