denpa-radio/docker-compose.yml

47 lines
1.2 KiB
YAML

name: 'denpa-radio'
services:
icecast:
image: libretime/icecast:2.4.4
restart: always
ports:
- '172.17.0.1:12000:8000'
volumes:
- type: bind
source: ./config/icecast.xml
target: /etc/icecast.xml
read_only: true
healthcheck:
test: ['CMD', 'bash', '-c', 'exec 3<>/dev/tcp/localhost/8000 && printf "GET /status-json.xsl HTTP/1.0\r\nHost: localhost\r\n\r\n" >&3 && grep -q icestats <&3']
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
liquidsoap:
image: savonet/liquidsoap:v2.3.3
restart: always
env_file: config/liquidsoap.env
depends_on:
icecast:
condition: service_healthy
volumes:
- type: bind
source: /mnt/trashbox/denpa-radio/library
target: /library
read_only: true
- type: bind
source: ./config/liquidsoap.liq
target: /script.liq
read_only: true
- type: bind
source: ./data/now-playing
target: /now-playing
command: ['liquidsoap', '/script.liq']
healthcheck:
test: ['CMD-SHELL', 'pidof liquidsoap >/dev/null || exit 1']
interval: 30s
timeout: 5s
retries: 3
start_period: 30s