Some checks are pending
Container / meta (analyzer) (push) Waiting to run
Container / meta (api) (push) Waiting to run
Container / meta (legacy) (push) Waiting to run
Container / meta (nginx) (push) Waiting to run
Container / meta (playout) (push) Waiting to run
Container / meta (worker) (push) Waiting to run
Container / build (push) Blocked by required conditions
Project / pre-commit (push) Waiting to run
Project / test-tools (push) Waiting to run
Release-Please / release-please (push) Waiting to run
44 lines
2.8 KiB
Markdown
44 lines
2.8 KiB
Markdown
# 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:
|
|
```bash
|
|
cd easypanel
|
|
chmod +x generate_secrets.sh
|
|
./generate_secrets.sh
|
|
```
|
|
|