matthuisman / docker-kodi-headless

A headless install of kodi in a docker container
GNU General Public License v3.0
124 stars 11 forks source link

can't start web interface #36

Closed budmannxx closed 9 months ago

budmannxx commented 9 months ago

for the life of me, I can't get the web interface to start. i'm using non-default ports due to other services running on the usual kodi ports. Here's my create command:

  --name=kodi-headless2 \
  -e PUID=1004 \
  -p 8084:8080 \
  -p 9094:9090 \
  -p 9778:9777/udp \
  -v ~/.kodi2:/config/.kodi \
  -v ~/TV:/TV \
  -v ~/Movies:/Movies \
  --restart unless-stopped \
  matthuisman/kodi-headless:Nexus

I have updated advancedsettings.xml to include this:

  <services>
     <esallinterfaces>true</esallinterfaces>
     <webserver>true</webserver>
     <zeroconf>false</zeroconf>
  <services>

I keep getting "Unable to connect" in my browser when accessing the webserver from my browser, port 8084. I'm pretty sure nothing else is running on 8084 on my host. Any help would be appreciated.

matthuisman commented 9 months ago

check the kodi logs

matthuisman commented 9 months ago

this is what i use image

    <services>
        <devicename>KODI-NAS</devicename>
        <esenabled>true</esenabled>
        <esallinterfaces>true</esallinterfaces>
        <escontinuousdelay>25</escontinuousdelay>
        <esinitialdelay>750</esinitialdelay>
        <esmaxclients>20</esmaxclients>
        <esport>9777</esport>
        <esportrange>10</esportrange>
        <upnpannounce>false</upnpannounce>
        <upnprenderer>false</upnprenderer>
        <upnpserver>false</upnpserver>
        <webserver>true</webserver>
        <webserverpassword></webserverpassword>
        <webserverport>8080</webserverport>
        <webserverusername>kodi</webserverusername>
        <webserverauthentication>false</webserverauthentication>
        <zeroconf>false</zeroconf>
    </services>
    <jsonrpc>
        <tcpport>9090</tcpport>
    </jsonrpc>
budmannxx commented 9 months ago

I did look in kodi.log, but didn't see anything obvious to me. Here's the warning and error logs.

Warning:

~/.kodi2/temp$ cat kodi.log | grep warn
2023-09-18 15:49:34.199 T:164   warning <general>: VIDEO database configuration is experimental.
2023-09-18 15:49:34.199 T:164   warning <CSettingsManager>: missing version attribute
2023-09-18 15:49:34.491 T:164   warning <general>: JSONRPC: Could not parse type "Setting.Details.SettingList"

Error:

~/.kodi2/temp$ cat kodi.log | grep error
2023-09-18 15:49:34.514 T:164     error <general>: Unable to locate window with id 18.  Check skin files

I expect to be able to connect to the web UI on port 8084, but that's where I'm getting the "unable to connect" in the browser. Is there a different log file I need to be looking at? I'm running Docker on an Ubuntu Server host, FYI.

budmannxx commented 9 months ago

Maybe I need some/all of the additional data you're using in your advancedsettings.xml? I've never seen most of those before, and I'm only using what I noted in the initial post above. Those settings worked on my previous headless install, which was the Kodi 18.x version from linuxserver.io. I still have that old instance running, and can access the Web UI for that version.

matthuisman commented 9 months ago

try with all of these:

    <webserver>true</webserver>
    <webserverpassword></webserverpassword>
    <webserverport>8080</webserverport>
    <webserverusername>kodi</webserverusername>
    <webserverauthentication>false</webserverauthentication>

Port above should be 8080 for you as well Or you could change it to 8084 and then in docker do 8084:8084

budmannxx commented 9 months ago

well, that worked immediately! thank you! I'm seeing "lost websocket connection" at the bottom right, but I was seeing that constantly on my old 18.x headless web GUI too, and it never seemed to actually affect anything (that I noticed, anyway). I'll start researching that issue now, but if you have any easy advice, I'll take it.

matthuisman commented 9 months ago

i think its because the server thinks its on 8080:

Try doing

8084

and docker changed to: 8084:8084

budmannxx commented 9 months ago

just tried 8084:8084 in the docker setup, and of course updated the advancedsettings.xml to 8084. Still got the same "lost websockets..." error. Just poking around a little, I seem to be seeing that error way less frequently than on the old 18.x version, and I also should note I'm not intending to be using websockets at this time. Always prefer to fix errors/issues, but not sure I really need to, in this case.

matthuisman commented 9 months ago

try doing it for esal as well <esport>9778</esport> docker 9778:9778/udp

budmannxx commented 9 months ago

thanks, but I still see the websockets error after making that change in both places

matthuisman commented 9 months ago

use chrome webdev tools. you should be able to look at the websocket section and hopefully see what error response etc

Closing this issue now as we solved the initial problem