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.
Paso 1: Clonar el repositorio
Section titled “Paso 1: Clonar el repositorio”cd /rootgit clone https://github.com/feeerraaan/jaleo.gitcd jaleoPaso 2: Instalar dependencias
Section titled “Paso 2: Instalar dependencias”npm installEsto instalará Express, Axios, SQLite3, dotenv y el resto de dependencias.
Paso 3: Crear el archivo .env
Section titled “Paso 3: Crear el archivo .env”Copia el archivo de ejemplo:
cp .env.example .envEdita el archivo .env:
nano .envY rellena con tus valores:
PORT=8888BASE_URL=https://tudominio.comSPOTIFY_CLIENT_ID=tu_client_id_de_spotifySPOTIFY_CLIENT_SECRET=tu_client_secret_de_spotifyREDIRECT_URI=https://tudominio.com/callbackDesglose de cada variable
Section titled “Desglose de cada variable”| Variable | Qué poner | Ejemplo |
|---|---|---|
PORT | El puerto donde escucha la API. Deja 8888. | 8888 |
BASE_URL | Tu dominio con HTTPS. Se usa para generar enlaces de vinculación. | 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 |
Paso 4: Probar que funciona
Section titled “Paso 4: Probar que funciona”Arranca la API manualmente para verificar:
node index.jsDeberías ver:
🚀 Jaleo API Online (Puerto 8888)Abre otra terminal (o usa curl desde el VPS):
curl http://localhost:8888Deberías recibir la landing page HTML.
Si funciona, para el servidor con Ctrl+C.
Paso 5: Ejecutar con PM2
Section titled “Paso 5: Ejecutar con PM2”Ahora vamos a poner la API en segundo plano con PM2 para que se mantenga ejecutándose:
pm2 start index.js --name jaleo-apipm2 savepm2 startupEl ú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:
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 /rootEjecuta el comando que te muestre PM2.
Comandos útiles de PM2
Section titled “Comandos útiles de PM2”pm2 status # Ver estado de los procesospm2 logs jaleo-api # Ver los logs en tiempo realpm2 restart jaleo-api # Reiniciar la APIpm2 stop jaleo-api # Parar la APIpm2 delete jaleo-api # Eliminar el procesoPaso 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:
curl -I https://tudominio.comDeberí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. BuscaYOUR_PHONE_NUMBERy reemplázalo por tu número de WhatsApp (sin el+, solo números, código de país incluido). Por ejemplo:34612345678para 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:
pm2 restart jaleo-apiSiguiente: Configurar reverse proxy (Caddy)