kessibi / libretime-docker

ATTENTION: Libretime now offers a way of running it in docker containers. This project wont see anymore development. One way to get libretime to work within a Docker container
27 stars 12 forks source link

Saving stream settings stops icecast playout #6

Closed paddatrapper closed 4 years ago

paddatrapper commented 4 years ago

While testing, I added a master source username and password and pressed Save under the stream setting. This caused the stream to stop, as expected, but it did not come back up again. There were no mounts listed in Icecast.

Logs:

libretime    | airtime-playout.service: 2020-01-15 12:30:54,119 [pypomessagehandler] [INFO ]  Handling command: update_stream_setting
libretime    | airtime-playout.service: 2020-01-15 12:30:54,119 [pypomessagehandler] [INFO ]  Updating stream setting...
libretime    | airtime-playout.service: 2020-01-15 12:30:54,121 [pypofetch] [INFO ]  Received event from Pypo Message Handler: {"setting":{"s1_enable":"true","s1_output":"icecast","s1_type":"ogg","s1_bitrate":128,"s1_port":8000,"s1_user":"","s1_pass":"hackme","s1_admin_user":"","s1_admin_pass":"","s1_url":"http:\/\/airtime.sourcefabric.org","s1_description":"LibreTime Radio! Stream #1","s1_genre":"genre","s1_name":"LibreTime!","s1_channels":"stereo","s1_liquidsoap_error":"OK","s1_mobile":"0","s1_host":"localhost","s1_mount":"_a","s2_enable":"false","s2_output":"icecast","s2_user":"","s2_admin_user":"","s2_admin_pass":"","s2_url":"","s2_description":"","s2_genre":"","s2_name":"","s2_channels":"stereo","s2_mobile":"0","s2_type":"ogg","s2_bitrate":48,"s2_host":"localhost","s2_port":8000,"s2_pass":"hackme","s2_mount":"_b","s2_liquidsoap_error":"waiting","s3_enable":"false","s3_output":"icecast","s3_user":"","s3_admin_user":"","s3_admin_pass":"","s3_url":"","s3_description":"","s3_genre":"","s3_name":"","s3_channels":"stereo","s3_mobile":"0","s3_type":"ogg","s3_bitrate":48,"s3_host":"localhost","s3_port":8000,"s3_pass":"hackme","s3_mount":"_c","s3_liquidsoap_error":"waiting","s4_enable":"false","s4_output":"icecast","s4_name":"","s4_type":"","s4_bitrate":0,"s4_user":"","s4_admin_user":"","s4_admin_pass":"","s4_url":"","s4_description":"","s4_genre":"","s4_channels":"stereo","s4_host":"localhost","s4_port":8000,"s4_pass":"hackme","s4_mount":"_d","s4_liquidsoap_error":"waiting","s4_mobile":"","master_live_stream_port":"8001","master_live_stream_mp":"\/master","dj_live_stream_port":"8002","dj_live_stream_mp":"\/show","off_air_meta":"LibreTime - offline","icecast_vorbis_metadata":"false","output_sound_device":"false","output_sound_device_type":"ALSA"},"event_type":"update_stream_setting"}
libretime    | airtime-playout.service: 2020-01-15 12:30:54,121 [pypofetch] [INFO ]  Handling command: update_stream_setting
libretime    | airtime-playout.service: 2020-01-15 12:30:54,122 [pypofetch] [INFO ]  Updating stream setting...
libretime    | airtime-playout.service: 2020-01-15 12:30:54,122 [pypofetch] [INFO ]  Restarting Liquidsoap
libretime    | airtime-playout.service: 2020-01-15 12:30:54,602 [pypofetch] [INFO ]  Waiting for Liquidsoap to start
libretime    | airtime-playout.service: 
kessibi commented 4 years ago

When modifying a service, one has to re-run docker exec libretime sh /libre_start.sh manually in order for the services to restart.

I'll try to see from the libretime sources if I can change this to automate restart (use systemctl instead of service).

kessibi commented 4 years ago

I have found a way of automatically restarting the airtime-liquidsoap which seemed to be the one crashing all the time (https://github.com/kessibi/libretime-docker/commit/945691491f4b555b3d5dbe3c553d3de516f101f9). It is now possible to change Master source, Show source, icecast params at will.

The docker images odclive/libretime-docker:latest and odclive/libretime-docker:v0.1 have both been updated.

paddatrapper commented 4 years ago

Yeah, airtime-liquidsoap is what needs restarting for stream changes to take effect. Thanks!