feat(docker-compose): agregar servicio config-generator con verificación de salud y configuración inicial
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

This commit is contained in:
Cesar Jhoanny Mendivil Rubio 2025-10-01 18:17:56 -07:00
parent 1fbb9b0834
commit 3e37f6190b
2 changed files with 91 additions and 6 deletions

71
config/config.yml Normal file
View File

@ -0,0 +1,71 @@
general:
public_url: http://localhost:8080
api_key: some_secret_api_key
secret_key: some_secret_key
database:
host: postgres
rabbitmq:
host: rabbitmq
email:
host: mailpit
port: 1025
playout:
liquidsoap_host: liquidsoap
liquidsoap:
server_listen_address: 0.0.0.0
harbor_ssl_certificate: /certs/fake.crt
harbor_ssl_private_key: /certs/fake.key
stream:
inputs:
main:
public_url: https://localhost:8001/main
mount: main
port: 8001
secure: true
outputs:
.default_icecast_output: &default_icecast_output
host: icecast
port: 8000
source_password: hackme
admin_password: hackme
name: LibreTime!
description: LibreTime Radio!
website: https://libretime.org
genre: various
icecast:
- <<: *default_icecast_output
enabled: true
mount: main.ogg
public_url: https://localhost:8443/main.ogg
audio:
format: ogg
bitrate: 256
- <<: *default_icecast_output
enabled: true
mount: main.opus
public_url: https://localhost:8443/main.opus
audio:
format: opus
bitrate: 256
- <<: *default_icecast_output
enabled: true
mount: main.mp3
public_url: https://localhost:8443/main.mp3
audio:
format: mp3
bitrate: 256
system:
- enabled: false
kind: pulseaudio

View File

@ -51,6 +51,8 @@ services:
condition: service_healthy condition: service_healthy
rabbitmq: rabbitmq:
condition: service_healthy condition: service_healthy
config-generator:
condition: service_healthy
environment: environment:
LIBRETIME_GENERAL_PUBLIC_URL: ${LIBRETIME_GENERAL_PUBLIC_URL:-http://localhost:8080} LIBRETIME_GENERAL_PUBLIC_URL: ${LIBRETIME_GENERAL_PUBLIC_URL:-http://localhost:8080}
LIBRETIME_DEBUG: ${LIBRETIME_DEBUG:-false} LIBRETIME_DEBUG: ${LIBRETIME_DEBUG:-false}
@ -70,6 +72,8 @@ services:
condition: service_healthy condition: service_healthy
rabbitmq: rabbitmq:
condition: service_healthy condition: service_healthy
config-generator:
condition: service_healthy
volumes: volumes:
- libretime_config:/etc/libretime:ro - libretime_config:/etc/libretime:ro
- libretime_storage:/srv/libretime - libretime_storage:/srv/libretime
@ -161,6 +165,21 @@ services:
- libretime_config:/etc/libretime:ro - libretime_config:/etc/libretime:ro
- libretime_storage:/srv/libretime - libretime_storage:/srv/libretime
# (No se incluye servicio composer; seguir método Docker estándar de LibreTime)
# Generador de configuración (escrito por el panel desde variables/secretos)
config-generator:
image: alpine:3.18
restart: "no"
entrypoint: ["/bin/sh","/tools/easypanel-config-generator.sh"]
volumes:
- libretime_config:/config
- ./tools:/tools:ro
healthcheck:
test: ["CMD-SHELL","test -f /config/config.yml"]
interval: 2s
timeout: 2s
retries: 10
# Volúmenes persistentes # Volúmenes persistentes
volumes: volumes:
@ -171,9 +190,4 @@ volumes:
libretime_playout: libretime_playout:
driver: local driver: local
libretime_config: libretime_config:
driver: local driver: local
# Red personalizada (opcional para EasyPanel)
networks:
default:
name: libretime_network