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 instalara 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 | 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 |
Paso 4: Probar que funciona
Section titled “Paso 4: Probar que funciona”Arranca la API manualmente para verificar:
node index.jsDeberias ver:
🚀 Jaleo API Online (Puerto 8888)Abre otra terminal (o usa curl desde el VPS):
curl http://localhost:8888Deberias 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 ejecutandose:
pm2 start index.js --name jaleo-apipm2 savepm2 startupEl 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:
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 utiles de PM2
Section titled “Comandos utiles 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 esta corriendo en el puerto 8888 y Caddy esta configurado como reverse proxy, deberias poder acceder:
curl -I https://tudominio.comDeberias 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. BuscaYOUR_PHONE_NUMBERy reemplazalo por tu numero de WhatsApp (sin el+, solo numeros, codigo de pais incluido). Por ejemplo:34612345678para Espana.callback.html— Pagina de confirmacion que se muestra despues de vincular Spotify. Muestra los comandos disponibles.
Despues de editar, reinicia la API:
pm2 restart jaleo-apiSiguiente: Configurar reverse proxy (Caddy)