Sparklyballs' Repo- Sparkly Stuff In Here


Recommended Posts

Bumped both kodi headless and koma to helix 14.2

 

(builds in progress on both)

 

Hi, sparklyballs.

 

Could you add support for this? http://lime-technology.com/forum/index.php?topic=39106.msg365627#msg365627

 

Thanks in advance!

 

Will the overview tag replace the description tag for the community repo plugin ?

Yes. The Description tag is still being used for the Docker Manager tho.

Link to comment
  • 2 weeks later...

is kodi-headless not able to preform the "clean" operations on the libraries without the volumes mounted?  I've got it updating my mariadb vm just fine, but it's not doing the clean operations when renaming/replacing filers with sonarr.  I have to clean the library from my HTPC, which has my movies and tv shares mounted and where I exporting the inital DB from.

Link to comment

is kodi-headless not able to preform the "clean" operations on the libraries without the volumes mounted?  I've got it updating my mariadb vm just fine, but it's not doing the clean operations when renaming/replacing filers with sonarr.  I have to clean the library from my HTPC, which has my movies and tv shares mounted and where I exporting the inital DB from.

 

i'm not sure what you're asking in your first question, what do mean by volumes not mounted ?

 

and clean what ? the database , left over files ?

Link to comment

kodi has a function called clean library, it's used to remove any items from the library that have an invalid path.  This includes files you've deleted, renamed, replaced, etc.

 

A common example is that sonarr will replace a lower quality episode with one of higher quality. If quality is part of your file naming schemes, the low quality episode is replaced with a high quality episode with a different file name.  Sonarr sends an "update" to kodi, which basically just adds the new path as a duplicate entry.

 

Sonarr has an option to push the clean library command, which should remove the old entry.  I've never had this enabled before as clean library wont work if a video is playing on the kodi instance that it's executed on.  However, now with a dedicated headless instance I should be able to enable this feature and in theory it should work.

 

I was thinking that because the headless instance didn't have my shares mounted in the videos library (like my htpc) then it might not work.  I have proven that notion false by wiping my kodi install/profile on my desktop and starting fresh.  With a  brand new kodi install, attached to the SQL DB, I can still preform a clean library operation.  So in theory the headless instance should work for preforming a clean operation from either json api calls from sonarr or via the remote on the webui.

 

 

I'm fighting with the sonarr devs over the way they "update" the library.  sickbeard used to modify the existing library entry's path when replacing or renaming and it's silly that sonarr isn't doing the same, but that's a whole other can o' worm

Link to comment

kodi has a function called clean library, it's used to remove any items from the library that have an invalid path.  This includes files you've deleted, renamed, replaced, etc.

 

A common example is that sonarr will replace a lower quality episode with one of higher quality. If quality is part of your file naming schemes, the low quality episode is replaced with a high quality episode with a different file name.  Sonarr sends an "update" to kodi, which basically just adds the new path as a duplicate entry.

 

Sonarr has an option to push the clean library command, which should remove the old entry.  I've never had this enabled before as clean library wont work if a video is playing on the kodi instance that it's executed on.  However, now with a dedicated headless instance I should be able to enable this feature and in theory it should work.

 

I was thinking that because the headless instance didn't have my shares mounted in the videos library (like my htpc) then it might not work.  I have proven that notion false by wiping my kodi install/profile on my desktop and starting fresh.  With a  brand new kodi install, attached to the SQL DB, I can still preform a clean library operation.  So in theory the headless instance should work for preforming a clean operation from either json api calls from sonarr or via the remote on the webui.

 

 

I'm fighting with the sonarr devs over the way they "update" the library.  sickbeard used to modify the existing library entry's path when replacing or renaming and it's silly that sonarr isn't doing the same, but that's a whole other can o' worm

 

 

in terms of playing a file full stop, in a mysql/mariadb environment i would be very surprised if any clean actions would be allowed on an open file.

 

i suppose you could mount the volumes by copying over your sources file to the headless instance, not something i've ever had to do.

 

sounds like yet another debit against sonarr, lol.

Link to comment

turns out I jumped to the wrong conclusions, I forgot I had a slightly custom db config.  can you add an optional variable to define the <name> tag for the DBs?  I added it manually to your advancedsetting.xml but it gets overwritten.

 

4 Name tag

 

An additional <name> tag can be used for both the <videodatabase> and <musicdatabase> entries in advancedsettings.xml file, if you want to change the name of the database. The <name> tag is not required. Kodi will use "MyVideos" and "MyMusic" as database names if the <name> tag is not specified.

You may want to do this if you want to have multiple separate libraries (with different content) on the same MySQL server. For example, if you want to create multiple profiles, each with their own shared library, so that each Kodi device can "log-into" that library. (a kids library, a guest library, etc)

Note: Don't try to merge the video and music databases! You need to use different values in the <name> tag or you'll end up confusing Kodi leading to the library functionality not working at all. In other words, don't use <name>Kodi</name> for both music and videos, but instead use something like <name>Kodi-music</name> and <name>Kodi-video</name>.

Link to comment

turns out I jumped to the wrong conclusions, I forgot I had a slightly custom db config.  can you add an optional variable to define the <name> tag for the DBs?  I added it manually to your advancedsetting.xml but it gets overwritten.

 

4 Name tag

 

An additional <name> tag can be used for both the <videodatabase> and <musicdatabase> entries in advancedsettings.xml file, if you want to change the name of the database. The <name> tag is not required. Kodi will use "MyVideos" and "MyMusic" as database names if the <name> tag is not specified.

You may want to do this if you want to have multiple separate libraries (with different content) on the same MySQL server. For example, if you want to create multiple profiles, each with their own shared library, so that each Kodi device can "log-into" that library. (a kids library, a guest library, etc)

Note: Don't try to merge the video and music databases! You need to use different values in the <name> tag or you'll end up confusing Kodi leading to the library functionality not working at all. In other words, don't use <name>Kodi</name> for both music and videos, but instead use something like <name>Kodi-music</name> and <name>Kodi-video</name>.

 

you can add that tag if you wish. my docker only overwrites the 4 tags you need to connect to mysql and nothing else.

 

if [ -f "/opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml" ]; then
echo "using existing advancedsettings.xml"
chown -R nobody:users /opt/kodi-server
sed -i "s|\(<host>\)[^<>]*\(</host>\)|\1${MYSQLip}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<port>\)[^<>]*\(</port>\)|\1${MYSQLport}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<user>\)[^<>]*\(</user>\)|\1${MYSQLuser}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<pass>\)[^<>]*\(</pass>\)|\1${MYSQLpass}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
else
echo "creating advancedsettings.xml"
cp /root/advancedsettings.xml /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
chown -R nobody:users /opt/kodi-server
sed -i "s|\(<host>\)[^<>]*\(</host>\)|\1${MYSQLip}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<port>\)[^<>]*\(</port>\)|\1${MYSQLport}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<user>\)[^<>]*\(</user>\)|\1${MYSQLuser}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
sed -i "s|\(<pass>\)[^<>]*\(</pass>\)|\1${MYSQLpass}\2|" /opt/kodi-server/share/kodi/portable_data/userdata/advancedsettings.xml
fi

 

as evident by that code block, basically it tests for the existence of advancedsettings.xml and if it doesn't exist, copies in a pre-exisiting one and changes those 4 tags, or if it does exist , edit just those 4 tags.

any other tag can be added/edited.

Link to comment

hmm, I'll have to try again this evening.  I edited the xml after it was created then restarted the container, my changes were removed.  i currently don't need custom DB names as I'm only maintaining a single profile/db but i figured it would be worth noting in the case that users may wish to run multiple profiles for their kids or something and have separate headless/db instances.

Link to comment

hmm, I'll have to try again this evening.  I edited the xml after it was created then restarted the container, my changes were removed.  i currently don't need custom DB names as I'm only maintaining a single profile/db but i figured it would be worth noting in the case that users may wish to run multiple profiles for their kids or something and have separate headless/db instances.

 

i suppose that could work, but unless there is support for profiles in any of the various downloader apps like sickbeard et al, they'd have to two of each of those they want separate stuff for kids on.

Link to comment

you map that port to an appdata location/share within unraid, traditionally on cache drive.

 

it's for config and the kodi files, to provide persistance.

 

I figured that shortly after when i saw a screen cap of it you put up. I just wasnt sure at first whether that was the movie directory since thats what the toop tip suggeted!! ** might want to fix the wording there **

Link to comment

Hey Sparkly, loving the Shout-Irc container, just wondering if there is any way of adding in user support to the docker?  I think it might be possible by running /bin/bash but a quick test I did, didn't work out for me.

 

Will have a better attempt next week though, so no worries.

 

 

Link to comment

Hey Sparkly, loving the Shout-Irc container, just wondering if there is any way of adding in user support to the docker?  I think it might be possible by running /bin/bash but a quick test I did, didn't work out for me.

 

Will have a better attempt next week though, so no worries.

 

linux permissions, docker user home folders and unraid wanting nobody:users gives me a f****ing headache.

 

i'll get a handle on it soon enough.

 

 

you can add users via the command line, but at the moment they are saved in /root instead of the folder that everything else is saved in for shout-irc.

 

also the shout user editor is vi , the most unfriendly, archaic and pig awkward editor to use, EVER.

 

 

Link to comment

Hey Sparkly, loving the Shout-Irc container, just wondering if there is any way of adding in user support to the docker?  I think it might be possible by running /bin/bash but a quick test I did, didn't work out for me.

 

Will have a better attempt next week though, so no worries.

 

linux permissions, docker user home folders and unraid wanting nobody:users gives me a f****ing headache.

 

i'll get a handle on it soon enough.

 

 

you can add users via the command line, but at the moment they are saved in /root instead of the folder that everything else is saved in for shout-irc.

 

also the shout user editor is vi , the most unfriendly, archaic and pig awkward editor to use, EVER.

 

Vi is what got me stumped!  Couldn't use it at all, I'm a nano guy, or Notepad++ if I really have a choice.

Link to comment

Hey Sparkly, loving the Shout-Irc container, just wondering if there is any way of adding in user support to the docker?  I think it might be possible by running /bin/bash but a quick test I did, didn't work out for me.

 

Will have a better attempt next week though, so no worries.

 

linux permissions, docker user home folders and unraid wanting nobody:users gives me a f****ing headache.

 

i'll get a handle on it soon enough.

 

 

you can add users via the command line, but at the moment they are saved in /root instead of the folder that everything else is saved in for shout-irc.

 

also the shout user editor is vi , the most unfriendly, archaic and pig awkward editor to use, EVER.

 

Vi is what got me stumped!  Couldn't use it at all, I'm a nano guy, or Notepad++ if I really have a choice.

 

it's saving the files in the wrong place anyways, might have to raise a bug issue with shout-irc

 

1, the editor doesn't respect the user-defined config, and from what i can tell if i add a json in the users folder it doesn't pick it up, which basically renders the user-defined config useless in regards to users.

Link to comment
  • Squid locked this topic
Guest
This topic is now closed to further replies.