Jump to content
linuxserver.io

[Support] Linuxserver.io - Kodi-Headless

570 posts in this topic Last Reply

Recommended Posts

4 hours ago, DZMM said:

is there a way to add additional user profiles? 

 

Thanks

 

That's an extremely advanced topic way beyond the scope of our support and i've no idea if it is even possible with the kodi headless container.

Share this post


Link to post

No worries.  I did some digging and I don't think it is, so I ended up creating another docker instance on another port for the 2nd profile for my kids

Share this post


Link to post

Out of curiosity, anyone ever figure out, or any other experiences with the library updates only scanning tv shows?

 

I still have to run a VM because for some reason headless-docker on update will only scan tv shows and will not scan movie location.

Edited by Living Legend

Share this post


Link to post
10 minutes ago, Living Legend said:

Out of curiosity, anyone ever figure out, or any other experiences with the library updates only scanning tv shows?

 

I still have to run a VM because for some reason headless-docker on update will only scan tv shows and will not scan movie location.

the headless Kodi will only scan using the default scraper   if you originally scraped on your htpc using universal movie scraper then the headless will always fail

Share this post


Link to post
Out of curiosity, anyone ever figure out, or any other experiences with the library updates only scanning tv shows?
 
I still have to run a VM because for some reason headless-docker on update will only scan tv shows and will not scan movie location.

my movies and tv shows get updated by the docker.

Sent from my LG-H830 using Tapatalk

Share this post


Link to post
7 minutes ago, Squid said:

the headless Kodi will only scan using the default scraper   if you originally scraped on your htpc using universal movie scraper then the headless will always fail

 

Hmm.  I'll have to check this out.  I may meet all criteria.

 

Does it matter what system does the initial scrape, or just make sure that it's done with default scraper?

Share this post


Link to post

Well it looked like that worked.  Deleted the DB, did a new scan with TMDB, and now updates done to headless actually search through both tv and movie locations.

 

Thanks!

Share this post


Link to post

I have been wanting to finally give this headless idea a go, and have read through this thread multiple times - regardless of user error, issues with the docker that seemed to occur around when 17 and 18.0 started to come about - is this docker currently functioning?  I've never messed with any mysql database stuff before, but I'd like to start although it seems daunting at first. 

 

I do have 2 instances of kodi running, 1 on a main htpc that is used the most often, and another that isn't used more than 5x a month, so this seems like the best option rather than keeping that instance running 24/7.

 

Between the setup details on linuxserver's git and the details posted a few posts ago with the xml details and what to use with the sources and advancedsettings, is there anywhere else I should be looking for details on getting this started?

 

 

Share this post


Link to post

Working for me.

Sent from my LG-H815 using Tapatalk

Share this post


Link to post

works for me as 

2 hours ago, magiin83 said:

I have been wanting to finally give this headless idea a go, and have read through this thread multiple times - regardless of user error, issues with the docker that seemed to occur around when 17 and 18.0 started to come about - is this docker currently functioning?  I've never messed with any mysql database stuff before, but I'd like to start although it seems daunting at first. 

 

I do have 2 instances of kodi running, 1 on a main htpc that is used the most often, and another that isn't used more than 5x a month, so this seems like the best option rather than keeping that instance running 24/7.

 

Between the setup details on linuxserver's git and the details posted a few posts ago with the xml details and what to use with the sources and advancedsettings, is there anywhere else I should be looking for details on getting this started?

 

 

works fine for me as long as I ensure all clients on the same version.  Had problems last week when windows client seemed to mess up DB, so I'm sticking to just Android clients so I can ensure they are all running exactly the same version that I manually update every now and then

Share this post


Link to post
1 minute ago, DZMM said:

works for me as 

works fine for me as long as I ensure all clients on the same version.  Had problems last week when windows client seemed to mess up DB, so I'm sticking to just Android clients so I can ensure they are all running exactly the same version that I manually update every now and then

During the testing phase of Kodi updates with this docker I run both versions eg jarvis and krypton.  You can find out database versions here

Share this post


Link to post
20 hours ago, magiin83 said:

I have been wanting to finally give this headless idea a go, and have read through this thread multiple times - regardless of user error, issues with the docker that seemed to occur around when 17 and 18.0 started to come about - is this docker currently functioning?  I've never messed with any mysql database stuff before, but I'd like to start although it seems daunting at first. 

 

I do have 2 instances of kodi running, 1 on a main htpc that is used the most often, and another that isn't used more than 5x a month, so this seems like the best option rather than keeping that instance running 24/7.

 

Between the setup details on linuxserver's git and the details posted a few posts ago with the xml details and what to use with the sources and advancedsettings, is there anywhere else I should be looking for details on getting this started?

 

 

 

This docker does function.  Read my last couple posts to see a little issue that I had to overcome to make sure you don't run into it as well.

 

What were you looking to get out of it?  If you don't already have a mysql database set up to sync libraries, than I'm not sure that this docker is going to be of much use to you.  If setting up the database was part of the plan, then this is all very doable.  

 

Before getting into this, here are the basics of what this docker is meant for, and how the database is involved with this docker.

 

In a out of box setup for Kodi, when you create your media libraries from your unRAID media shares, information is stored locally to whatever device is running Kodi.  But for people who have multiple Kodi instances running off the same media files, it's much neater if all of the libraries are synced up to a centralized database rather than each device storing its own independent library.  When each device is synced up to the centralized database, each device sees all the same media the same way, knows the path for all the same artwork, knows what point you stopped the tv show last night, how many times you've watched it, and so on.  Any interaction with the library on one device will be uploaded to the library and noticed by all other devices.

 

Here's where Kodi-Headless comes in.  If you have some other dockers like Sonarr or Radarr running, you're going to periodically have changes made to your unRAID media shares.  But how will your living room Chromebox have any idea that you just downloaded the latest episode of Sesame Street?  With this Kodi docker always running, it can receives updates from these other dockers notifying them that the media shares have new files.   When it does, it will run a scan, scrape new information and images, and update the centralized database with this information.

 

The next time you turn on one of your Kodi instances, as long as it's synced up to the centralized database, you'll see all of the up to date media without having to perform a library scan each and every startup.

 

To get started, download the below two dockers:

 

https://hub.docker.com/r/linuxserver/mariadb/

https://hub.docker.com/r/linuxserver/kodi-headless/

 

Both can be found under the community apps tab on your unRAID GUI.  Search for mariadb and kodi, and download the one from the author "linuxserver".  Then add the advancedsettings.xml file to each and every Kodi instance, including the docker.  In this file you'll be telling Kodi where to look for and store library information.  

 

http://kodi.wiki/view/MySQL/Setting_up_Kodi

#3 shows exactly what you'll need for yoru advancedsettings.xml file.  Host will be your unraid IP, port will be 3306 unless you changed it when installing mariadb docker.  This has kodi/kodi as user and password.  If you kept these the same, you'd need to tell mariadb that there's going to be a user with the name kodi with the password kodi so that it can access the db.  I use a program called HeidiSQL to interact with mariadb.  I type in my unraid IP, port 3306, and log in.  I may be mistaken, but default out of box user is probably root, and a blank password?  Could be wrong, might have to google that.  

 

Additionally, since the Kodi docker is headless, you'll need to manually add a sources.xml file so that the headless version knows where it is supposed to be scanning when it is informed that there have been changes.

http://kodi.wiki/view/sources.xml

 

Yeah, this can all seem a bit daunting if you've never tinkered around before.  I was in that spot a few years ago.  People explain how to do things, but leave out certain steps that are intuitive to them, but not for the basic user.  Fortunately, this is pretty straight forward and this is a great community willing to help if you show some initiative.

 

Good luck and let us know how it turns out.

Edited by Living Legend

Share this post


Link to post
On 5/31/2017 at 11:04 AM, Squid said:

the headless Kodi will only scan using the default scraper   if you originally scraped on your htpc using universal movie scraper then the headless will always fail

Really ?  So that's the reason I haven't been able to auto-scan the movies folders via headless since day dot?

 

Any way around this?  Or do I need to kill the DB and rescan from scratch?  If it's rescan from scratch, can I use Local Info as the scraper and later switch it to an online scraper and not cause the same issues I have now?

Share this post


Link to post
11 hours ago, Living Legend said:

 

This docker does function.  Read my last couple posts to see a little issue that I had to overcome to make sure you don't run into it as well.

 

What were you looking to get out of it?  If you don't already have a mysql database set up to sync libraries, than I'm not sure that this docker is going to be of much use to you.  If setting up the database was part of the plan, then this is all very doable.  

 

Before getting into this, here are the basics of what this docker is meant for, and how the database is involved with this docker.

 

In a out of box setup for Kodi, when you create your media libraries, information is stored locally to whatever device is running Kodi.  But for people who have multiple Kodi instances running off the same media files, it's much neater if all of the libraries are synced up to a centralized database rather than each device storing its own independent library.  When each device is synced up to the centralized database, each device sees all the same media, knows the path for all the same artwork, knows what point you stopped the tv show last night, and so on.  Any change made on one device will then be uploaded to the centralized database and shared among all devices connected to this database.

 

Here's where Kodi-Headless comes in.  If you have some other dockers like Sonarr or Radarr running, you're going to periodically have changes made to your media shares.  But how will your living room Chromebox have any idea that you just downloaded the latest episode of Sesame Street?  With this Kodi docker always running, it can receives updates from these other dockers notifying them that the media shares have new files.   When it does, it will update the centralized database with this information.

 

The next time you turn on one of your Kodi instances, as long as it's synced up to the centralized database, you'll see all of the up to date media without having to perform a library scan each and every startup.

 

To get started, download the below two dockers:

 

https://hub.docker.com/r/linuxserver/mariadb/

https://hub.docker.com/r/linuxserver/kodi-headless/

 

Both can be found under the community apps tab on your unRAID GUI.  Search for mariadb and kodi, and download the one from the author "linuxserver".  Then add the advancedsettings.xml file to each and every Kodi instance, including the docker.  In this file you'll be telling Kodi where to look for and store library information.

 

http://kodi.wiki/view/MySQL/Setting_up_Kodi

#3 shows exactly what you'll need for yoru advancedsettings.xml file.  Host will be your unraid IP, port will be 3306 unless you changed it when installing mariadb docker.  This has kodi/kodi as user and password.  If you kept these the same, you'd need to tell mariadb that there's going to be a user with the name kodi with the password kodi so that it can access the db.  I use a program called HeidiSQL to interact with mariadb.  I type in my unraid IP, port 3306, and log in.  I may be mistaken, but default out of box user is probably root, and a blank password?  Could be wrong, might have to google that.  

 

Yeah, this can all seem a bit daunting if you've never tinkered around before.  I was in that spot a few years ago.  People explain how to do things, but leave out certain steps that are intuitive to them, but not for the basic user.  Fortunately, this is pretty straight forward and this is a great community willing to help if you show some initiative.

 

Good luck and let us know how it turns out.

it's worth linking to this post from the first post.  It took me a while to cobble together all this info and figure out why I needed this docker.

Share this post


Link to post
5 hours ago, dalben said:

Really ?  So that's the reason I haven't been able to auto-scan the movies folders via headless since day dot?

 

Any way around this?  Or do I need to kill the DB and rescan from scratch?  If it's rescan from scratch, can I use Local Info as the scraper and later switch it to an online scraper and not cause the same issues I have now?

If you switch the scraper on the machine that originally scanned the files and rescan from there I think it'll work.   

Share this post


Link to post
8 hours ago, dalben said:

Really ?  So that's the reason I haven't been able to auto-scan the movies folders via headless since day dot?

 

Any way around this?  Or do I need to kill the DB and rescan from scratch?  If it's rescan from scratch, can I use Local Info as the scraper and later switch it to an online scraper and not cause the same issues I have now?

 

We both had the same exact issue a while back.  I finally gave up on it, compiled my own LibreELEC from source that could run off of VNC, and have been running that since.

 

Came back to this thread to check again, and Squid made the scraper comment.  It worked for me, no problem.  I actually did a kill and then rescan.  Before I did so I did export the db to a .sql file in the event that it didn't work.  I suppose I could just bring the old ones back, switch scraper, and rescan.

 

 

Share this post


Link to post

Time to bite the bullet and create a new DB I think.  This one has been around for a few years.  Shouldn't be too painful as I have all meta-data locally thanks to TMM.  The onlything I can't work out is how I keep the watched status.

Share this post


Link to post
9 minutes ago, dalben said:

The onlything I can't work out is how I keep the watched status.

http://kodi.wiki/view/Advancedsettings.xml  Section 2.3.15  Set it on whatever is going to do the initial scan.  Personally before I ever trash my library, I always export the library (to separate files).  This will store the xml for each movie within its folder to speed up rescans, and also winds up storing the watched status.

Share this post


Link to post
5 hours ago, dalben said:

Time to bite the bullet and create a new DB I think.  This one has been around for a few years.  Shouldn't be too painful as I have all meta-data locally thanks to TMM.  The onlything I can't work out is how I keep the watched status.

 

You could also use trakt.TV if you're not concerned about others knowing what you watched. Of course only if they get hacked.

Share this post


Link to post

Been toying with the idea of this docker.

I am wondering how the database handles a large collection? Does it bog down or crash with a large amount of movies, tv shows along with music videos and just music?

Does the database actually hold the artwork or just links to the artwork in the media folders (movies, tv, music etc..)? Lastly if a large collection , how much space will be required of the docker if running in mnt/cache/appdata/ folder?

 

Share this post


Link to post
22 minutes ago, Harro said:

Does it bog down or crash with a large amount of movies, tv shows along with music videos and just music

Not noticeably, if at all.  SQL is designed for VERY large databases, and any quantity of movies, tv shows, music stored on your server would all be classified by MySQL / MariaDB as small.

22 minutes ago, Harro said:

Does the database actually hold the artwork or just links to the artwork in the media folders (movies, tv, music etc..)?

Links

22 minutes ago, Harro said:

how much space will be required of the docker if running in mnt/cache/appdata/ folder?

Regardless of the size of the media being indexed by the SQL database, its size is immaterial compared to the size of the media itself.

 

IE: I think that 500MB to index 60TB is meaningless.  Your mileage of course will vary, but it'll still be peanuts in the grand scheme.

 

 

Edited by Squid

Share this post


Link to post
20 minutes ago, Harro said:

Been toying with the idea of this docker.

I am wondering how the database handles a large collection? Does it bog down or crash with a large amount of movies, tv shows along with music videos and just music?

Does the database actually hold the artwork or just links to the artwork in the media folders (movies, tv, music etc..)? Lastly if a large collection , how much space will be required of the docker if running in mnt/cache/appdata/ folder?

 

 

 

i've got 8500+ movies and there's no slow down at all. 

Share this post


Link to post

Thanks for the replies.

Another question: I thought I had read a long time back on KODI forum on the headless thread that you could move your addons to the headless container, restart and then you would be able to use those addons under the headless container. You would also have to adjust that in the advanced xml also. Can this still be done? 

Share this post


Link to post
On 5/31/2017 at 5:21 PM, Living Legend said:

 

 

 

 

Good luck and let us know how it turns out.

Just want to say, thank you enormously for that well-written overview.  I am starting this mysql database from scratch, and having never used mariadb or the headless docker before, I'm sure this description you gave will be very help, so I really greatly appreciate you explaining what needs to be done!  Cheers!

Share this post


Link to post

So is there any chance we can manually update this to a nightly build?  I've been tinkering with a few of Milhouse's builds for LibreELEC which are on 18.0 now, and a different DB structure.

 

I can't seem to find access to an Update folder through the command line in the docker.  I'm assuming this is on purpose.

Share this post


Link to post

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.