name: 'denpa-radio' services: icecast: image: libretime/icecast:2.4.4 restart: unless-stopped 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: unless-stopped 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', 'pgrep liquidsoap || exit 1'] interval: 30s timeout: 5s retries: 3 start_period: 30s