[Support] Linuxserver.io - Kodi-Headless


Recommended Posts

Anyone about to get Sonarr or Couchpotato to update this? I keep getting failed. Sorry if its been asked already. I tried to skim the thread.

Give us more details of how you've got things setup. Ports & folder mappings for the containers.

 

Kodi-Headless:

8080/tcp <-> 192.168.1.133:8084

/mnt  <-> /mnt

/config/.kodi <-> /mnt/cache/Apps/Kodi/

 

In Sonarr, notifications going to:

Host: 192.168.133

Post 8084

Username: kodi

Password: <blank>

 

Edit: And now its working... Wonder if it took a bit first kodi-headless to initialize? Got me, its working now though, Ill leave my configuration there in case anyone else finds them useful

 

Edit2: And now the requests are failing again...

 

Looking at the logs for kodi-headless it doesnt even seem to be starting. Its having trouble connecting to the db.

 

mysql (linuxserver.io docker):

3306/tcp  <-> 192.168.1.133:3306

/config <-> /mnt/cache/Apps/MySQL/

 

My htpc can connect to it using the same advancedsettings.xml configuration.

 

 

Edit3: For those of you following along with this cluster, I copied and pasted my advancedsettings.xml fill again (only the DB portion) and kodi-headless booted right up. No idea why or how it was working earlier

Link to comment

Hey guys,

 

Is it possible to share my add-on installs via the database so I don't have to reinstall everything when I setup a new client? How will my LiveTV setup with NextPVR be handled? Would I need to setup PVR across every client?

 

In SickRage and Couchpotato, if I turn on the "Notify on xx" settings and send them to Kodi Headless, do the clients also get a notification? Should I check the "only update first host" option?

 

I APPRECIATE any help!!

 

Here is my AdvancedSettings.xml file

 

<advancedsettings>

<!-- 
#####################################################
# For more information on the settings available in #
# this file, refer to the kodi wiki at              #
# http://kodi.wiki/view/Advancedsettings.xml        #
#####################################################
-->

<videodatabase>
<type>mysql</type> <!-- don't change this value -->  
<host>192.168.1.5</host> <!-- change this to the IP address of your mysql/mariadb server  -->
<port>3306</port> <!-- change this to the port of your mysql/mariadb server  -->
<user>kodi</user> <!-- change this to the user for your database, not root  --> 
<pass>kodi</pass> <!-- change this to the password for your database -->
</videodatabase>
<musicdatabase>
<type>mysql</type> <!-- don't change this value -->
<host>192.168.1.5</host> <!-- change this to the IP address of your mysql/mariadb server  -->
<port>3306</port> <!-- change this to the port of your mysql/mariadb server  -->
<user>kodi</user> <!-- change this to the user for your database, not root  -->
<pass>kodi</pass> <!-- change this to the password for your database -->
</musicdatabase>

<services>
<devicename>TT-Kodi</devicename>
<esallinterfaces>true</esallinterfaces> <!-- don't change this value -->
<escontinuousdelay>25</escontinuousdelay>
<esenabled>true</esenabled> <!-- don't change this value -->
<esinitialdelay>750</esinitialdelay>
<esmaxclients>20</esmaxclients>
<esport>9777</esport> <!-- don't change this value -->
<esportrange>10</esportrange>
<upnpannounce>true</upnpannounce>
<upnprenderer>false</upnprenderer>
<upnpserver>true</upnpserver>
<webserver>true</webserver> <!-- don't change this value -->
<webserverpassword>xbmc</webserverpassword>
<webserverport>8080</webserverport> <!-- don't change this value -->
<webserverusername>xbmc</webserverusername>
<webskin>webinterface.default</webskin>
<zeroconf>true</zeroconf>
</services>

<pathsubstitution>
<substitute>
    <from>special://profile/playlists/</from>
    <to>PROTOCOL://192.168.1.5/appdata/MariaDB/Kodi Headless/userdata/playlists/</to>
  </substitute>
  <substitute>
    <from>special://profile/keymaps/</from>
    <to>PROTOCOL://192.168.1.5/appdata/MariaDB/Kodi Headless/userdata/keymaps/</to>
  </substitute>
<!--     <substitute>
    <from>special://profile/favourites.xml</from>
    <to>PROTOCOL://YOUR_NETWORK_SHARE/kodi/userdata/favourites.xml</to>
  </substitute> -->
</pathsubstitution>

<videolibrary>
<importresumepoint>true</importresumepoint>    <!-- import previously exported resume point from .nfo files -->
<importwatchedstate>true</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files -->
<backgroundupdate>true</backgroundupdate>
<dateadded>1</dateadded> <!-- 0 results in using the current datetime when adding a video;
                              1 (default) results in prefering to use the files mtime (if it's valid) and only using the file's ctime if the mtime isn't valid;
                              2 results in using the newer datetime of the file's mtime and ctime -->

</videolibrary>
<musiclibrary>
<backgroundupdate>true</backgroundupdate> <!-- don't change this value -->
</musiclibrary>
<videoscanner>
<ignoreerrors>true</ignoreerrors> <!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don't have to keep hitting "yes" to keep scanning.-->
</videoscanner>
<splash>false</splash>
<bginfoloadermaxthreads>2</bginfoloadermaxthreads>
<myvideos>
<extractflags>false</extractflags>
<extractthumb>false</extractthumb>
</myvideos>
<lookandfeel>
<enablerssfeeds>false</enablerssfeeds>
</lookandfeel>
<audiooutput>
<guisoundmode>0</guisoundmode>
<ac3passthrough>false</ac3passthrough>
<dtspassthrough>false</dtspassthrough>
<multichannellpcm>false</multichannellpcm>
<truehdpassthrough>false</truehdpassthrough>
<dtshdpassthrough>false</dtshdpassthrough>
<mode>2</mode>
</audiooutput>
<videoscreen>
<vsync>2</vsync>
</videoscreen>
<input>
<enablemouse>false</enablemouse>
<remoteaskeyboard>false</remoteaskeyboard>
</input>
<general>
<addonnotifications>false</addonnotifications>
</general>
<skinsettings>
<setting type="bool" name="skin.confluence.FirstTimeRun">false</setting>
</skinsettings>
</advancedsettings>

Link to comment

Hey guys,

 

Is it possible to share my add-on installs via the database so I don't have to reinstall everything when I setup a new client? How will my LiveTV setup with NextPVR be handled? Would I need to setup PVR across every client?

 

In SickRage and Couchpotato, if I turn on the "Notify on xx" settings and send them to Kodi Headless, do the clients also get a notification? Should I check the "only update first host" option?

 

I APPRECIATE any help!!

 

Here is my AdvancedSettings.xml file

 

<advancedsettings>

<!-- 
#####################################################
# For more information on the settings available in #
# this file, refer to the kodi wiki at              #
# http://kodi.wiki/view/Advancedsettings.xml        #
#####################################################
-->

<videodatabase>
<type>mysql</type> <!-- don't change this value -->  
<host>192.168.1.5</host> <!-- change this to the IP address of your mysql/mariadb server  -->
<port>3306</port> <!-- change this to the port of your mysql/mariadb server  -->
<user>kodi</user> <!-- change this to the user for your database, not root  --> 
<pass>kodi</pass> <!-- change this to the password for your database -->
</videodatabase>
<musicdatabase>
<type>mysql</type> <!-- don't change this value -->
<host>192.168.1.5</host> <!-- change this to the IP address of your mysql/mariadb server  -->
<port>3306</port> <!-- change this to the port of your mysql/mariadb server  -->
<user>kodi</user> <!-- change this to the user for your database, not root  -->
<pass>kodi</pass> <!-- change this to the password for your database -->
</musicdatabase>

<services>
<devicename>TT-Kodi</devicename>
<esallinterfaces>true</esallinterfaces> <!-- don't change this value -->
<escontinuousdelay>25</escontinuousdelay>
<esenabled>true</esenabled> <!-- don't change this value -->
<esinitialdelay>750</esinitialdelay>
<esmaxclients>20</esmaxclients>
<esport>9777</esport> <!-- don't change this value -->
<esportrange>10</esportrange>
<upnpannounce>true</upnpannounce>
<upnprenderer>false</upnprenderer>
<upnpserver>true</upnpserver>
<webserver>true</webserver> <!-- don't change this value -->
<webserverpassword>xbmc</webserverpassword>
<webserverport>8080</webserverport> <!-- don't change this value -->
<webserverusername>xbmc</webserverusername>
<webskin>webinterface.default</webskin>
<zeroconf>true</zeroconf>
</services>

<pathsubstitution>
<substitute>
    <from>special://profile/playlists/</from>
    <to>PROTOCOL://192.168.1.5/appdata/MariaDB/Kodi Headless/userdata/playlists/</to>
  </substitute>
  <substitute>
    <from>special://profile/keymaps/</from>
    <to>PROTOCOL://192.168.1.5/appdata/MariaDB/Kodi Headless/userdata/keymaps/</to>
  </substitute>
<!--     <substitute>
    <from>special://profile/favourites.xml</from>
    <to>PROTOCOL://YOUR_NETWORK_SHARE/kodi/userdata/favourites.xml</to>
  </substitute> -->
</pathsubstitution>

<videolibrary>
<importresumepoint>true</importresumepoint>    <!-- import previously exported resume point from .nfo files -->
<importwatchedstate>true</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files -->
<backgroundupdate>true</backgroundupdate>
<dateadded>1</dateadded> <!-- 0 results in using the current datetime when adding a video;
                              1 (default) results in prefering to use the files mtime (if it's valid) and only using the file's ctime if the mtime isn't valid;
                              2 results in using the newer datetime of the file's mtime and ctime -->

</videolibrary>
<musiclibrary>
<backgroundupdate>true</backgroundupdate> <!-- don't change this value -->
</musiclibrary>
<videoscanner>
<ignoreerrors>true</ignoreerrors> <!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don't have to keep hitting "yes" to keep scanning.-->
</videoscanner>
<splash>false</splash>
<bginfoloadermaxthreads>2</bginfoloadermaxthreads>
<myvideos>
<extractflags>false</extractflags>
<extractthumb>false</extractthumb>
</myvideos>
<lookandfeel>
<enablerssfeeds>false</enablerssfeeds>
</lookandfeel>
<audiooutput>
<guisoundmode>0</guisoundmode>
<ac3passthrough>false</ac3passthrough>
<dtspassthrough>false</dtspassthrough>
<multichannellpcm>false</multichannellpcm>
<truehdpassthrough>false</truehdpassthrough>
<dtshdpassthrough>false</dtshdpassthrough>
<mode>2</mode>
</audiooutput>
<videoscreen>
<vsync>2</vsync>
</videoscreen>
<input>
<enablemouse>false</enablemouse>
<remoteaskeyboard>false</remoteaskeyboard>
</input>
<general>
<addonnotifications>false</addonnotifications>
</general>
<skinsettings>
<setting type="bool" name="skin.confluence.FirstTimeRun">false</setting>
</skinsettings>
</advancedsettings>

For each client, you will need to copy over your advancedsettings.XML + sources.XML + passwords.XML if you have passworded sources then setup the rest of each client manually.

 

With notifications, you just notify the the headless install then any database updates will show on the clients accordingly.

Link to comment

Anyone about to get Sonarr or Couchpotato to update this? I keep getting failed. Sorry if its been asked already. I tried to skim the thread.

Give us more details of how you've got things setup. Ports & folder mappings for the containers.

 

Kodi-Headless:

8080/tcp <-> 192.168.1.133:8084

/mnt  <-> /mnt

/config/.kodi <-> /mnt/cache/Apps/Kodi/

 

In Sonarr, notifications going to:

Host: 192.168.133

Post 8084

Username: kodi

Password: <blank>

 

Edit: And now its working... Wonder if it took a bit first kodi-headless to initialize? Got me, its working now though, Ill leave my configuration there in case anyone else finds them useful

 

Edit2: And now the requests are failing again...

 

Looking at the logs for kodi-headless it doesnt even seem to be starting. Its having trouble connecting to the db.

 

mysql (linuxserver.io docker):

3306/tcp  <-> 192.168.1.133:3306

/config <-> /mnt/cache/Apps/MySQL/

 

My htpc can connect to it using the same advancedsettings.xml configuration.

 

 

Edit3: For those of you following along with this cluster, I copied and pasted my advancedsettings.xml fill again (only the DB portion) and kodi-headless booted right up. No idea why or how it was working earlier

 

Not sure why you have /mnt going through to your kodi-headless. In terms of sonarr talking with kodi-headless, the login/pass for this is xbmc / xbmc unless you have changed this within the advancedsettings.xml (Note, this is not the user/pass you setup for the MySQL DB)

Link to comment

 

For each client, you will need to copy over your advancedsettings.XML + sources.XML + passwords.XML if you have passworded sources then setup the rest of each client manually.

 

With notifications, you just notify the the headless install then any database updates will show on the clients accordingly.

 

Great! If I have sickrage or couchpotato notify the headless kodi, will headless also update the library on its own from then on and grab the fanart and information? Or should I leave a client machine to this task?

 

 

Link to comment

 

For each client, you will need to copy over your advancedsettings.XML + sources.XML + passwords.XML if you have passworded sources then setup the rest of each client manually.

 

With notifications, you just notify the the headless install then any database updates will show on the clients accordingly.

 

Great! If I have sickrage or couchpotato notify the headless kodi, will headless also update the library on its own from then on and grab the fanart and information? Or should I leave a client machine to this task?

Correct, when headless gets notified, it updates the library and the clients will pull that info next time they check the central db

Link to comment

Mine updates fine but I can't get it to clean database on update.

Please read OP, you do not want kodi-headless to clean your db as it will empty them. Always best to use the client you used to scan for cleaning

 

Sonar is not cleaning the database either.

Yea it won't. All it does is tell a kodi client to clean it.

Link to comment

Actually I already have it like that:

 

<advancedsettings>

 

<videolibrary>

<cleanonupdate>true</cleanonupdate>

<importresumepoint>true</importresumepoint>    <!-- import previously exported resume point from .nfo files -->

<importwatchedstate>true</importwatchedstate>  <!-- import previously exported playdate and playcount from .nfo files -->

<dateadded>1</dateadded> <!-- 0 results in using the current datetime when adding a video;

                              1 (default) results in prefering to use the files mtime (if it's valid) and only using the file's ctime if the mtime isn't valid;

                              2 results in using the newer datetime of the file's mtime and ctime -->

</videolibrary>

</advancedsettings>

 

 

Link to comment

I don't, I need to clean on update.  What is happening is a show is there but then a better quality version is found so it is put in the database and the previous file is deleted, but they both are showing in kodi.  When you click on the one that was deleted it says it can't be found and lets you remove it.  I just want to have the database cleaned everytime an update happens.

Link to comment

I don't, I need to clean on update.  What is happening is a show is there but then a better quality version is found so it is put in the database and the previous file is deleted, but they both are showing in kodi.  When you click on the one that was deleted it says it can't be found and lets you remove it.  I just want to have the database cleaned everytime an update happens.

 

google tells me it's a sonarr issue.....

 

https://forums.sonarr.tv/t/xbmc-library-not-being-cleaned-on-update/729

Link to comment

So if I add the cleanonupdate to the advancedsettings for the headless-kodi and copy my sources.xml file over, that should fix it?

 

i'd backup your database just to be on the safe side, i clean my database about once every 6 months tops... so i have little experience.

 

but it is the general consensus that sources.xml fixes it, hence the big red warning on the OP for this thread.

Link to comment

Hello

 

Where do I find the Version variable

 

Quote from: CHBMB on February 20, 2016, 10:31:41 AM

Quote from: ICDeadPpl on February 20, 2016, 10:30:09 AM

Is there an ETA for Kodi v16 Jarvis, it just became available on https://kodi.tv/download/ ?

 

Sparklyballs is normally very quick at these.  Give it 24 hours max I reckon.  ;)

 

it's uploaded.

 

change VERSION variable to 16 and away you go.

 

When I select the advance view it unRaid does not give me the below screen that is shown in this post

 

On Mr. Balls' behalf....  ;D

 

Click the advanced switch in the docker setup screen and add VERSION like below.

 

Update:

 

My bad I was selecting advanced on the general docker screen not on the specific kodi headless config screen.  Think i am good now

Link to comment

I've been noticing this on the kodi log from the Unraid Docker container page.

Mar 22 17:17:01 1b70d5ca1352 /USR/SBIN/CRON[12351]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

It looks like that runs every hour and when it finds a movie or show then I get the following.

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

Then it repeats hourly until it finds a new movie or show.

 

Also I'm hoping you guys can add the dateutil module that trakt.tv needs per this post.  Thanks!

Link to comment

I've been noticing this on the kodi log from the Unraid Docker container page.

Mar 22 17:17:01 1b70d5ca1352 /USR/SBIN/CRON[12351]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

It looks like that runs every hour and when it finds a movie or show then I get the following.

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

Then it repeats hourly until it finds a new movie or show.

 

Also I'm hoping you guys can add the dateutil module that trakt.tv needs per this post.  Thanks!

 

mariadb 10.1 branch with a lower version than 10.1.12 ?

Link to comment

I've been noticing this on the kodi log from the Unraid Docker container page.

Mar 22 17:17:01 1b70d5ca1352 /USR/SBIN/CRON[12351]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)

It looks like that runs every hour and when it finds a movie or show then I get the following.

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

tdb(__NULL__): tdb_open_ex: called with name == NULL

Then it repeats hourly until it finds a new movie or show.

 

Also I'm hoping you guys can add the dateutil module that trakt.tv needs per this post.  Thanks!

 

mariadb 10.1 branch with a lower version than 10.1.12 ?

It might be.......Mariadb is the only dockers that I use that is not linuxserver.  So the issue is with mariadb.  Will it be as simple as switching to linuxserver docker to get rid of that error?
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.