xteve-project / xTeVe

M3U Proxy for Plex DVR and Emby Live TV
MIT License
1.78k stars 231 forks source link

Specify IP/address when updating, restarting #87

Closed C8opmBM closed 4 years ago

C8opmBM commented 4 years ago

Hello,

A big chunk of xteve users employ docker to run it. The problem is, whenever it updates or restarts, it will automatically use the docker container ip, thus breaking EPG. I tried to follow your recommandation by using the API, but unfortunately with docker, it seems there's no way to use the api. I enabled api but when I go to serverip:port/api/ I get Not Found [404]

Can you please think of a workaround for this? When I update manually, it would give the correct address, but if I restart docker or after the scheduled update, the ip changes.

Many thanks.

mar-mei commented 4 years ago

If you enter the URL in the browser, you get 404 because that's a GET request. The API only works via POST requests. There is information about the API in the documentation.

I do not use Docker, but it should be possible to run a script after starting the container, which creates the xteve.xml file with the new domain / IP.

C8opmBM commented 4 years ago

Thank you for you quick response @mar-mei I have a similar script running with docker plex (some bugs with hw transcoding due to a faulty upstream driver) and I always add something like this to my docker compose script to remove it.

[...]
docker-compose -f docker-compose.yml up -d
sleep 10s
echo "Restarting docker containers..."
docker exec -it plex /bin/bash -c "cd /usr/lib/plexmediaserver/lib/dri && rm -f iHD_drv_video.so"
docker restart plex

Could you please tell me which command I would run in order to create xteve.xml with the new domain ip? Are you referring to this: curl -X POST -H "Content-Type: application/json" -d '{"cmd":"update.xepg"}' http://10.10.0.10:34400/api/

mar-mei commented 4 years ago

This one command is enough. In your example, the IP is used as the URL. You can check this by opening the xteve.xml file with an editor.

image

C8opmBM commented 4 years ago

Thanks! Will fork it (currently using https://github.com/whi-tw/docker-xteve cause its the only xteve docker out there with support for user: UID:GID ) and add curl to the dockerfile and then try it out!

Will post how it went!