matthuisman/docker-kodi-headless

can't start web interface

budmannxx opened this issue · 11 comments

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.

check the kodi logs

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>

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.

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.

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

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.

i think its because the server thinks its on 8080:

Try doing
8084
and docker changed to: 8084:8084

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.

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

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

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