Cesar Jhoanny Mendivil Rubio 3e37f6190b
Some checks failed
Project / pre-commit (push) Has been cancelled
Project / test-tools (push) Has been cancelled
Release-Please / release-please (push) Has been cancelled
Container / meta (analyzer) (push) Has been cancelled
Container / meta (api) (push) Has been cancelled
Container / meta (legacy) (push) Has been cancelled
Container / meta (nginx) (push) Has been cancelled
Container / meta (playout) (push) Has been cancelled
Container / meta (worker) (push) Has been cancelled
Container / build (push) Has been cancelled
Dev Tools / docker-dev-image (debian, bookworm) (push) Has been cancelled
Dev Tools / docker-dev-image (debian, bullseye) (push) Has been cancelled
Dev Tools / docker-dev-image (ubuntu, focal) (push) Has been cancelled
Dev Tools / docker-dev-image (ubuntu, jammy) (push) Has been cancelled
Legacy / test (7.4) (push) Has been cancelled
Legacy / locale (push) Has been cancelled
Worker / test-bullseye (push) Has been cancelled
Worker / test-jammy (push) Has been cancelled
Shared / lint (push) Has been cancelled
Shared / test-focal (push) Has been cancelled
Shared / test-bullseye (push) Has been cancelled
Shared / test-jammy (push) Has been cancelled
Playout / lint (push) Has been cancelled
Playout / test-focal (push) Has been cancelled
API / lint (push) Has been cancelled
Playout / test-bullseye (push) Has been cancelled
Playout / test-jammy (push) Has been cancelled
Legacy / lint (7.4) (push) Has been cancelled
Worker / lint (push) Has been cancelled
Worker / test-focal (push) Has been cancelled
API / test-with-database (bullseye) (push) Has been cancelled
API / test-with-database (focal) (push) Has been cancelled
API / test-with-database (jammy) (push) Has been cancelled
API Client / lint (push) Has been cancelled
API Client / test-focal (push) Has been cancelled
API Client / test-bullseye (push) Has been cancelled
API Client / test-jammy (push) Has been cancelled
Analyzer / lint (push) Has been cancelled
Analyzer / test-focal (push) Has been cancelled
Analyzer / test-bullseye (push) Has been cancelled
Analyzer / test-jammy (push) Has been cancelled
feat(docker-compose): agregar servicio config-generator con verificación de salud y configuración inicial
2025-10-01 18:17:56 -07:00
..

LibreTime (EasyPanel)

Este directorio contiene metadatos y un script de actualización en el estilo que usa EasyPanel para instalar un servicio desde un repositorio.

Qué hace:

  • update.sh copia docker-compose.easypanel.yml a ./code/docker-compose.yml y elimina container_name y ports para que el docker-compose resultante sea compatible con EasyPanel.

Cómo funciona (resumen):

  • EasyPanel suele clonar el repo en una carpeta temporal, ejecutar update.sh y luego usar ./code/docker-compose.yml como el compose a ejecutar.

Requisitos/Notas:

  • update.sh usa utilidades estándar de shell y perl (normalmente disponible en sistemas UNIX). Si tu entorno no tiene perl, el script puede adaptarse a python.
  • Revisa y completa las variables de entorno requeridas por docker-compose.easypanel.yml (p. ej. secretos: POSTGRES_PASSWORD, RABBITMQ_DEFAULT_PASS, etc.) desde la UI de EasyPanel.

Siguientes pasos recomendados:

  • (Opcional) Añadir un update.js si prefieres implementar clonación/actualizaciones con las utilidades de EasyPanel (no obligatorio). Este repo incluye easypanel/update.js que realiza la misma función que update.sh usando Node.js.
  • (Opcional) Añadir un archivo README.md con la lista de variables que EasyPanel debe exponer en la interfaz de instalación.

Instrucciones específicas para EasyPanel

  1. En la UI de EasyPanel, crea un nuevo servicio apuntando a este repositorio (o sube un ZIP).
  2. En la sección de variables/Environment, pega el contenido de easypanel/service.env (o sube el archivo).
    • Marca como secret las variables: POSTGRES_PASSWORD, RABBITMQ_DEFAULT_PASS, ICECAST_SOURCE_PASSWORD, ICECAST_ADMIN_PASSWORD, ICECAST_RELAY_PASSWORD.
  3. EasyPanel ejecutará easypanel/update.sh por convención; el script intenta ejecutar easypanel/update.js si Node.js está disponible, y usa un fallback en shell si no lo está.
  4. Después de ejecutar el script, EasyPanel usará easypanel/code/docker-compose.yml para desplegar el stack. Revisa ese archivo antes de confirmar el despliegue.
  5. Si necesitas exponer puertos manualmente en EasyPanel, revisa docker-compose.easypanel.yml y ajusta NGINX_PORT, ICECAST_PORT, etc., o deja que EasyPanel gestione el ruteo.

Consejos:

  • Asegúrate de que LIBRETIME_GENERAL_PUBLIC_URL apunte a tu dominio público antes de desplegar.
  • Para entornos de producción, establece LIBRETIME_DEBUG=false y usa contraseñas fuertes en los secrets.

Generar contraseñas seguras

Puedes usar el script easypanel/generate_secrets.sh para generar contraseñas seguras y sus hashes SHA-256. El script imprime un bloque .env listo para pegar en la UI de EasyPanel. Ejecútalo localmente y no subas las contraseñas al repositorio.

Ejemplo:

cd easypanel
chmod +x generate_secrets.sh
./generate_secrets.sh