Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Linuxserver.io - Kodi-Headless

Featured Replies

What I did is install Watchdog on another client, then copied both its runtime and config files to the Docker.  I use this to pickup new recordings that my HDHomeRun records.  Once the files are in place you toggle it on via the web UI.

 

uRwLFZ8aQo_X8IAQxmsLTg.png

  • Replies 660
  • Views 175.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Living Legend
    Living Legend

    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 y

  • I think you've missed the point of what this does.

  • Pretty sure that linuxserver no longer supports this app at all.   BUT, from what I remember years ago you had to initially set up how the library gets scanned etc on another "real" Kodi ins

Posted Images

On 2/17/2018 at 8:19 AM, Squid said:

Point of this container is to configure Sonarr / Radarr to send the signal to it to rescan / update the library upon a completion of a download.

 

Ah, OK.  makes sense.  Thank you!

On 2/17/2018 at 9:54 AM, Scope666 said:

What I did is install Watchdog on another client, then copied both its runtime and config files to the Docker.  I use this to pickup new recordings that my HDHomeRun records.  Once the files are in place you toggle it on via the web UI.

 

uRwLFZ8aQo_X8IAQxmsLTg.png

 

Thanks.  I did see your post and didn't know if this was the right way to do it.  I suppose I can also kick it off by a cron job and an API call...I'll have to look into it.  

 

Thanks!

  • 2 weeks later...

I run kodi on my TV Boxes I build from a raspberry Pi and am having trouble call me stupid but how would I use this app and how does it help me? 

1 hour ago, megna22 said:

I run kodi on my TV Boxes I build from a raspberry Pi and am having trouble call me stupid but how would I use this app and how does it help me? 

ive asked some time ago and if i remember corectly it scans the folder with movies and add it into Kodi, is the operation when u start in and it scan all the folders for new stuff (2-3mins)

Essentially, instead of a library database on each device this means the database is stored on your Unraid server and shared amongst all your clients

Hmmm.. I ready do this with a windows program called media center master.

2 hours ago, megna22 said:

Hmmm.. I ready do this with a windows program called media center master.

I used to use mcm - it keeps your metadata up to date, but it won't keep track of watched history etc whereas this approach will.  mcm also means each client has to keep it's database updated - a nightmare if you have a client that hasn't been used for a while, whereas this will mean each client always has an up-to-date database

 

I stopped using mcm as it doesn't allow you to control what artwork is downloaded and doesn't do a lot of the extra formats e.g. clearart or do set art.  Have a look at the artwork beef addon - much better control and actively developed whereas I don't think mcm has had a new feature for around 3-4 years

I'll give it a try it sounds good I just hope I can configure it.

Artwork beef is awesome and the latest builds downloads artwork to your drives, which makes the UI even faster as kodi doesn't have to go online to create thumbnails

  • 2 weeks later...

Hey guys,

 

I have spent a few hours trying to configure Kodi headless but can't seem to see any results for Add-Ons. Have configured advancedsettings.xml but not sources.xml.

Essentially, I want to use the PlexKodi add-on and let Plex handle my Music/Video Libraries.

 

Can anyone advise how to get the Add-Ons to work ?

29 minutes ago, doremi said:

Hey guys,

 

I have spent a few hours trying to configure Kodi headless but can't seem to see any results for Add-Ons. Have configured advancedsettings.xml but not sources.xml.

Essentially, I want to use the PlexKodi add-on and let Plex handle my Music/Video Libraries.

 

Can anyone advise how to get the Add-Ons to work ?

 

why would you need this then if plex is going to handle your library ? 

just send updates from your downloaders etc to plex instead

22 minutes ago, sparklyballs said:

 

why would you need this then if plex is going to handle your library ? 

just send updates from your downloaders etc to plex instead

 

What's the best way to use XBMC type client like Kodi? Thought it was Kodi-headless? Sorry if it's a silly question as I can't seem to get my head around this.

Each instance of Kodi is essentially standalone.  If you want a client/server setup then you have three options:

 

1.  Plexkodi Addon

2.  Emby for Kodi

 

Both of these will use Plex/Emby as a backend database system with each instance of Kodi behaving as a client

 

The third option is to use this addon and use a MySQL database as the backend.  Details on how to configure the Kodi clients is found in the Kodi wiki.  The advantage of this method is you don't need to run Emby or Plex.

I use kodi it handles all my library stuff.I have it update them selves through my unraid server witch holds all the meta data. I run unraid as a  basic NAS no dockers or VMs it serves media files that's all. I use smb to stream with (example: smb://server/share) work really well for me.

Hello good people

 

Is it possible to run Leia headless on this docker?

 

Thanks

Mark

2 hours ago, markrudling said:

Hello good people

 

Is it possible to run Leia headless on this docker?

 

Thanks

Mark

 

 

No

leia is still alpha

Hi there I am using sickbeard together with headless-kodi and mariadb sql docker, all these worked fine but for the past few weeks every time I select update kodi it says it sends the update to the port but when I check kodi afterwards it does not show the updated shows, in the logs from sickbeard I can see that it was sent, however how can I verify why headless kodi is not updating the database anymore unless I do a manual library update?

  • 4 weeks later...

Hey Guys - 

 

I've been updating my Kodi Library using a VM so am looking forward to implementing this as I moved my mySQL DB into a container yesterday as well.  Unfortunately, I'm having a bit of trouble so have a couple of questions, please...

 

1. Data Folder Structure

Which path does advancedsettings and other XML files go into?  I created the path "~/config/.kodi" on my (Atomic) Docker host then tried copying all contents of the ~/.kodi folder from pre-configured & working Ubuntu install.  Once I started the container, I was able to access 8080, but no shows or movies were listed.  I then stopped the container, deleted the files out of "~/config/.kodi", then just copied over the contents of the userdata folder to it's root.  I know my XMLs are good as I use them on 4-5 different systems.  I started back up again and the web console was still empty.  Finally, I tried deleting everything again and starting the container to see if it would create files by default, but none were made.  To note, I set the "config" folder to be 0777 recursively.

 

2. Scheduling Updating / Cleaning / Trakt

Once the container is up, one can obviously access the web console and trigger library updates manually. The only 2 add-ons I have installed on my current VM updater is the Kodi Auto Library Update set to update & clean video once an hour and Trakt set to sync after each scan (I use it to sync watched status between Kodi & Plex mostly).  How would I configure this in a headless scenario?

 

How I Installed (If I did something incorrectly)

  • Executed: "docker pull linuxserver/kodi-headless" via SSH
  • Created: "~/config" then "~/config/kodi" and set "~/config" to 0777 recursively
  • Executed: docker create --name=kodi-headless \
  • -v ~/config/.kodi \
    -e PGID=0 -e PUID=0 \
    -e TZ=America/Chicago \
    -p 8080:8080 -p 9777:9777/udp \
    linuxserver/kodi-headless
  • Copied data files as described in question #1 above, started container via Portainer, and attempted to access web console on 8080

Thanks, guys!!

 

 

On 4/14/2018 at 10:06 PM, BzowK said:
Hey Guys - 
 
I've been updating my Kodi Library using a VM so am looking forward to implementing this as I moved my mySQL DB into a container yesterday as well.  Unfortunately, I'm having a bit of trouble so have a couple of questions, please...
 
1. Data Folder Structure
Which path does advancedsettings and other XML files go into?  I created the path "~/config/.kodi" on my (Atomic) Docker host then tried copying all contents of the ~/.kodi folder from pre-configured & working Ubuntu install.  Once I started the container, I was able to access 8080, but no shows or movies were listed.  I then stopped the container, deleted the files out of "~/config/.kodi", then just copied over the contents of the userdata folder to it's root.  I know my XMLs are good as I use them on 4-5 different systems.  I started back up again and the web console was still empty.  Finally, I tried deleting everything again and starting the container to see if it would create files by default, but none were made.  To note, I set the "config" folder to be 0777 recursively.
 
2. Scheduling Updating / Cleaning / Trakt
Once the container is up, one can obviously access the web console and trigger library updates manually. The only 2 add-ons I have installed on my current VM updater is the Kodi Auto Library Update set to update & clean video once an hour and Trakt set to sync after each scan (I use it to sync watched status between Kodi & Plex mostly).  How would I configure this in a headless scenario?
 
How I Installed (If I did something incorrectly)
  • Executed: "docker pull linuxserver/kodi-headless" via SSH
  • Created: "~/config" then "~/config/kodi" and set "~/config" to 0777 recursively
  • Executed: docker create --name=kodi-headless \
  • -v ~/config/.kodi \
    -e PGID=0 -e PUID=0 \
    -e TZ=America/Chicago \
    -p 8080:8080 -p 9777:9777/udp \
    linuxserver/kodi-headless
  • Copied data files as described in question #1 above, started container via Portainer, and attempted to access web console on 8080
Thanks, guys!!
 
 

If you're not using Unraid then hit us up our discord channel for support.

Edited by CHBMB

Hello,

 

Maybe someone can give me an hand here, and let me know what I am doing wrong.

 

I have kodi-headless installed via UnRaid Docker

I have MYSQL running on a Virtual Machine (Proxmox)

 

I know Kodi is talking to SQL as I have new DBs (MyMusic60) (MyVideos107), but when I load Kore and do a Video update, it doesn't do anything... (I havbe tried both smb:// and nfs://). I have taken the sources.xml to my local windows and when I open it, it allows me to see those sources. Are there some permissions, or options that I am missing?

 

 

<sources>
    <programs>
        <default pathversion="1"></default>
    </programs>
    <video>
        <default pathversion="1"></default>
        <source>
            <name>Movies</name>
            <path pathversion="1">nfs://192.168.86.30/media/Movies/</path>
            <allowsharing>true</allowsharing>
        </source>
        <source>
            <name>TV Series</name>
            <path pathversion="1">nfs://192.168.86.30/media/TV/</path>
            <allowsharing>true</allowsharing>
        </source>
	</video>
    <music>
        <default pathversion="1"></default>
    </music>
    <pictures>
        <default pathversion="1"></default>
    </pictures>
    <files>
        <default pathversion="1"></default>
    </files>
</sources>
<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.86.53</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>root</user> <!-- change this to the user for your database, not root  --> 
<pass>*****</pass> <!-- change this to the password for your database -->
</videodatabase>
<musicdatabase>
<type>mysql</type> <!-- don't change this value -->
<host>192.168.86.53</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>root</user> <!-- change this to the user for your database, not root  -->
<pass>*****</pass> <!-- change this to the password for your database -->
</musicdatabase>

<services>
<devicename>KODI Server</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>kodi</webserverpassword>
<webserverport>8080</webserverport> <!-- don't change this value -->
<webserverusername>kodi</webserverusername>
<webskin>webinterface.default</webskin>
<zeroconf>true</zeroconf>
</services>


<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>
12:45:13.163 T:22810394347520 WARNING: VIDEO database configuration is experimental.
12:45:13.163 T:22810394347520  NOTICE: Default Video Player: VideoPlayer
12:45:13.163 T:22810394347520  NOTICE: Default Audio Player: paplayer
12:45:13.163 T:22810394347520  NOTICE: Disabled debug logging due to GUI setting. Level 0.
12:45:13.163 T:22810394347520  NOTICE: Log level changed to "LOG_LEVEL_NORMAL"
12:45:13.163 T:22810394347520  NOTICE: CMediaSourceSettings: loading media sources from special://masterprofile/sources.xml
12:45:13.163 T:22810394347520  NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
12:45:13.164 T:22810394347520  NOTICE: Loaded playercorefactory configuration
12:45:13.164 T:22810394347520  NOTICE: Loading player core factory settings from special://masterprofile/playercorefactory.xml.
12:45:13.164 T:22810394347520  NOTICE: special://masterprofile/playercorefactory.xml does not exist. Skipping.
16:45:13.195 T:22810394347520  NOTICE: Running database version Addons27
16:45:13.396 T:22810394347520  NOTICE: ADDONS: Using repository repository.xbmc.org
16:45:13.398 T:22809938822912  NOTICE: No Devices found - retry: 4
16:45:14.898 T:22809938822912  NOTICE: No Devices found - retry: 3
16:45:16.399 T:22809938822912  NOTICE: No Devices found - retry: 2
16:45:17.899 T:22809938822912  NOTICE: No Devices found - retry: 1
16:45:19.400 T:22809938822912  NOTICE: Found 0 Lists of Devices
16:45:19.404 T:22809938822912 WARNING: ActiveAE::Configure - sink returned large buffer of 249 ms, reducing to 100 ms
16:45:19.497 T:22809940924160  NOTICE: Running database version Addons27
16:45:19.497 T:22809940924160  NOTICE: Running database version ViewModes6
16:45:19.498 T:22809940924160  NOTICE: Running database version Textures13
16:45:19.507 T:22809940924160  NOTICE: Running database version MyMusic60
16:45:19.514 T:22809940924160  NOTICE: Running database version MyVideos107
16:45:19.515 T:22809940924160  NOTICE: Running database version TV29
16:45:19.517 T:22809940924160  NOTICE: Running database version Epg11
16:45:19.525 T:22810394347520 WARNING: JSONRPC: Could not parse type "Setting.Details.SettingList"
16:45:19.538 T:22810394347520  NOTICE: initialize done
16:45:19.538 T:22810394347520  NOTICE: Running the application...
16:45:19.538 T:22810394347520  NOTICE: CWebServer[8080]: Started
16:45:19.538 T:22810394347520  NOTICE: starting upnp client
16:45:19.539 T:22810394347520  NOTICE: starting upnp server
16:45:19.541 T:22809153615616  NOTICE: ES: Starting UDP Event server on port 9777
16:45:19.541 T:22809153615616  NOTICE: UDP: Listening on port 9777 (ipv6 : true)
16:45:25.333 T:22810394347520  NOTICE: Cleanup: Starting musicdatabase cleanup ..
16:45:25.549 T:22810394347520   ERROR: SQL: [MyMusic60] The table does not exist
                                            Query: select count(idSong) as NumSongs from songview
16:45:25.549 T:22810394347520   ERROR: GetSongsCount() failed
16:45:25.550 T:22810394347520  NOTICE: Cleanup: Cleaning musicdatabase done. Operation took 00:00
16:45:28.474 T:22810394347520  NOTICE: CleanDatabase: Starting videodatabase cleanup ..
16:45:32.188 T:22809940924160  NOTICE: VideoInfoScanner: Starting scan ..
16:45:32.188 T:22809940924160  NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:00

 

 

Thanks for help!

-RS

Quick question before I start, will the following scenario.

 

I have a media server which runs dockers and file shares and 5 KODI devices linking back. The question is, can I have 1 updated database between the devices but multiple users? This is specifically due to different watched tags in each room as they are per person? (or is there a better way?)

 

TIA

7 hours ago, RivaSABB said:

Quick question before I start, will the following scenario.

 

I have a media server which runs dockers and file shares and 5 KODI devices linking back. The question is, can I have 1 updated database between the devices but multiple users? This is specifically due to different watched tags in each room as they are per person? (or is there a better way?)

 

TIA

you can't have different watched statuses per database.  My solution might work for you - I have two profiles setup on Kodi - Parents & Kids and in the advancedsettings.xml file for each profile I point to different databases.  For the adults - Adults_video and Adults_music and for the kids Kids_video and Kids_music.  Both profiles are on all of my kodi boxes, and the databases are centralised via mariadb/mysql, so regardless of the box used the watched status is always up to date.

On 4/26/2018 at 5:16 PM, DZMM said:

you can't have different watched statuses per database.  My solution might work for you - I have two profiles setup on Kodi - Parents & Kids and in the advancedsettings.xml file for each profile I point to different databases.  For the adults - Adults_video and Adults_music and for the kids Kids_video and Kids_music.  Both profiles are on all of my kodi boxes, and the databases are centralised via mariadb/mysql, so regardless of the box used the watched status is always up to date.

OK, I understand but is there a way to sync the databases so that I only need to maintain one? For example if I rename a movie in one database will it rename in the others?

 

Edited by RivaSABB

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.