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 instalara 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

| Variable | Que poner | Ejemplo | |----------|-----------|---------| | PORT | El puerto donde escucha la API. Deja 8888. | 8888 | | BASE_URL | Tu dominio con HTTPS. Se usa para generar enlaces de vinculacion. | https://jaleo.miejemplo.com | | SPOTIFY_CLIENT_ID | El Client ID de tu app de Spotify (lo obtuviste en el paso 1). | 60561c99861... | | SPOTIFY_CLIENT_SECRET | El Client Secret de tu app de Spotify. | f5c6420b433... | | REDIRECT_URI | Tu 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

Deberias ver:

🚀 Jaleo API Online (Puerto 8888)

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

Terminal window
curl http://localhost:8888

Deberias 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 ejecutandose:

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

El ultimo comando (pm2 startup) genera un comando que tienes que ejecutar para que PM2 se inicie automaticamente cuando el servidor se reinicie. PM2 te mostrara 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 esta corriendo en el puerto 8888 y Caddy esta configurado como reverse proxy, deberias poder acceder:

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

Deberias recibir un 200 OK o ver el HTML de la landing page. Si ves un error 502, revisa que jaleo-api este corriendo con pm2 status.

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

Paso 7: Personalizar las paginas (opcional)

Section titled “Paso 7: Personalizar las paginas (opcional)”

Puedes editar los archivos HTML para personalizar la landing page y la pagina de vinculacion:

  • landing.html — Pagina de inicio publica. Busca YOUR_PHONE_NUMBER y reemplazalo por tu numero de WhatsApp (sin el +, solo numeros, codigo de pais incluido). Por ejemplo: 34612345678 para Espana.
  • callback.html — Pagina de confirmacion que se muestra despues de vincular Spotify. Muestra los comandos disponibles.

Despues de editar, reinicia la API:

Terminal window
pm2 restart jaleo-api

Siguiente: Configurar reverse proxy (Caddy)