randomninjaatk / docker-sonarr-extended Goto Github PK
View Code? Open in Web Editor NEWSonarr (develop) with bash scripts to automate and extend functionality.
License: GNU General Public License v3.0
Sonarr (develop) with bash scripts to automate and extend functionality.
License: GNU General Public License v3.0
If i were to change the number of episodes to lets say 7 would this be all i need to change?
f [ $seriesEpisodeIdsCount -lt 14 ]; then
if [ $processId -gt 14 ]; then
those are the only lines in the script that contain number 14 as far as i can tell.
Thanks!
EDIT: I tried editing it and every time the sonnar gets restarted and script re-ran the file edits itself back to 14 days.
When I switched from the usual linuxserver/sonarr to this image, I got an error in my docker logs:
sonarr-extended | [Info] Bootstrap: Starting Sonarr - /app/sonarr/bin/Sonarr.exe - Version 3.0.9.1555
sonarr-extended | [Info] AppFolderInfo: Data directory is being overridden to [/config]
sonarr-extended | [Info] Router: Application mode: Interactive
sonarr-extended | [Info] MigrationLogger: *** Checking database for required migrations data source=/config/sonarr.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
sonarr-extended | [Info] MigrationLogger: *** 170: add_language_tags_to_subtitle_files migrating ***
sonarr-extended |
sonarr-extended |
sonarr-extended | [Fatal] ConsoleApp: EPIC FAIL!
sonarr-extended |
sonarr-extended | [v3.0.9.1555] NzbDrone.Core.Datastore.CorruptDatabaseException: Database file: /config/sonarr.db is corrupt, restore from backup if available. See: https://wiki.servarr.com/sonarr/faq#i-am-getting-an-error-database-disk-image-is-malformed ---> System.Data.SQLite.SQLiteException: attempt to write a readonly database
sonarr-extended | attempt to write a readonly database
sonarr-extended | at System.Data.SQLite.SQLite3.Reset (System.Data.SQLite.SQLiteStatement stmt) [0x00088] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLite3.Step (System.Data.SQLite.SQLiteStatement stmt) [0x0006e] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteDataReader.NextResult () [0x00174] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteDataReader..ctor (System.Data.SQLite.SQLiteCommand cmd, System.Data.CommandBehavior behave) [0x0008e] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteDataReader..ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)
sonarr-extended | at System.Data.SQLite.SQLiteCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x0000c] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery (System.Data.CommandBehavior behavior) [0x00006] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery () [0x00006] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteTransaction.Begin (System.Boolean deferredLock) [0x0006f] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteTransactionBase..ctor (System.Data.SQLite.SQLiteConnection connection, System.Boolean deferredLock) [0x00033] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.SQLite.SQLiteTransaction..ctor (System.Data.SQLite.SQLiteConnection connection, System.Boolean deferredLock) [0x00000] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteTransaction..ctor(System.Data.SQLite.SQLiteConnection,bool)
sonarr-extended | at System.Data.SQLite.SQLiteConnection.BeginDbTransaction (System.Data.IsolationLevel isolationLevel) [0x00069] in <cf516e4846354910b3d60749c894b1bf>:0
sonarr-extended | at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction () [0x00000] in <225d5b8a6f8f4d178d7cbdfe8b61548d>:0
sonarr-extended | at FluentMigrator.Runner.Processors.GenericProcessorBase.BeginTransaction () [0x0002e] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at FluentMigrator.Runner.TransactionalMigrationScope..ctor (FluentMigrator.IMigrationProcessor migrationProcessor, System.Action disposalAction) [0x0001c] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at FluentMigrator.Runner.MigrationScopeHandler.BeginScope () [0x00006] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at FluentMigrator.Runner.MigrationScopeHandler.CreateOrWrapMigrationScope (System.Boolean transactional) [0x00011] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at FluentMigrator.Runner.MigrationRunner.ApplyMigrationUp (FluentMigrator.Infrastructure.IMigrationInfo migrationInfo, System.Boolean useTransaction) [0x0008a] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at FluentMigrator.Runner.MigrationRunner.MigrateUp (System.Boolean useAutomaticTransactionManagement) [0x000af] in <137fb96feee44f379d6a8fba4e172d1c>:0
sonarr-extended | at NzbDrone.Core.Datastore.Migration.Framework.MigrationController.Migrate (System.String connectionString, NzbDrone.Core.Datastore.Migration.Framework.MigrationContext migrationContext) [0x000c0] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\Migration\Framework\MigrationController.cs:60
sonarr-extended | at NzbDrone.Core.Datastore.DbFactory.CreateMain (System.String connectionString, NzbDrone.Core.Datastore.Migration.Framework.MigrationContext migrationContext) [0x0000b] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\DbFactory.cs:117
sonarr-extended | --- End of inner exception stack trace ---
sonarr-extended | at NzbDrone.Core.Datastore.DbFactory.CreateMain (System.String connectionString, NzbDrone.Core.Datastore.Migration.Framework.MigrationContext migrationContext) [0x00045] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\DbFactory.cs:128
sonarr-extended | at NzbDrone.Core.Datastore.DbFactory.Create (NzbDrone.Core.Datastore.Migration.Framework.MigrationContext migrationContext) [0x00027] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\DbFactory.cs:82
sonarr-extended | at NzbDrone.Core.Datastore.DbFactory.Create (NzbDrone.Core.Datastore.Migration.Framework.MigrationType migrationType) [0x00000] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\DbFactory.cs:70
sonarr-extended | at NzbDrone.Core.Datastore.DbFactory.RegisterDatabase (NzbDrone.Common.Composition.IContainer container) [0x00000] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Datastore\DbFactory.cs:48
sonarr-extended | at NzbDrone.Host.NzbDroneServiceFactory.Start () [0x00037] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Host\ApplicationServer.cs:60
sonarr-extended | at NzbDrone.Host.Router.Route (NzbDrone.Host.ApplicationModes applicationModes) [0x0007f] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Host\Router.cs:56
sonarr-extended | at NzbDrone.Host.Bootstrap.Start (NzbDrone.Host.ApplicationModes applicationModes, NzbDrone.Common.EnvironmentInfo.StartupContext startupContext) [0x0003d] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Host\Bootstrap.cs:78
sonarr-extended | at NzbDrone.Host.Bootstrap.Start (NzbDrone.Common.EnvironmentInfo.StartupContext startupContext, NzbDrone.Host.IUserAlert userAlert, System.Action`1[T] startCallback) [0x0007f] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Host\Bootstrap.cs:41
sonarr-extended | at NzbDrone.Console.ConsoleApp.Main (System.String[] args) [0x00030] in C:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Console\ConsoleApp.cs:42
I checked and the database file itself isn't corrupt, so I can still open and read the file normally, but sonarr can't.
Probably because I'm on the normal main branch, while this image is on the develop branch.
Could you make another tag for people on the main branch? That could help me switch.
Hi there,
it seems like the TRaSH guides were updated such that most of the data that the AutoConfig.bash script pulls in is no longer found. This data used to be stored in .md files in the TRaSH repo, but it is now actually broken out into .json files.
For instance, the Sonarr recommended naming scheme is now located at:
https://github.com/TRaSH-/Guides/blob/master/docs/json/sonarr/naming/sonarr-naming.json
I think this should actually make it easier to pull in information in the scripts and more reliable, but it does require updates. The same would be true for radarr-extended.
Just wanted to point it out here in case this wasn't on the roadmap yet. I think this change to the TRaSH guides only happened a few weeks ago.
Many thanks as always for your work on these awesome docker images!
I use an external Seedbox, so downloads need to be synced to my local server for processing. This takes time, Long enough for the queuecleaner to wipe anything waiting for import. The files 'will' be there soon, just not in time for them to be deleted from the client. That cancels out the import process and flags the previous download as failed.
Is there any way to modify the script so that it will only clear entries that have been imported correctly?
I'm finding that now using Sonarr; I manually have to clear rtorrent of finished, unseeding DLs and I also have to delete the synced files from the monitored DIR after the import happens. No biggie, but automating things would be nicer.
Is SMA scripts no longer supported in this Sonarr version? I have been relying on them to standardize my videos.
I have noticed queuecleaner script is not cleaning up all failed downloads. it just says:
QueueCleaner :: 1.0.007 :: No items in queue to clean up...
I have about 75 failed items in the queue. Occasionally it might clean up a couple of them. What should I provide to help debug this?
Is there a way to have the extras stored in an "extras" subfolder?
I use Kodi and the Kodi Extras add-on. It looks for a specified subfolder next to the TV Show/Movie to list all the extra content. Right now I have to manually move everything.
Hi,
I'm looking for a way to specify which resolution I want Youtube-Series-Downloader.bash to download, but I can't seem to find any way to do it except to change the script itself. This is at best a temporary measure as all the files in the "extended" folder are recreated when the container is restarted.
In any case, I changed the start of lines 124 and 126 from
yt-dlp -f "$videoFormat" (...)
to
yt-dlp -f "bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" (...)
As the original lines included -f "$videoFormat", I went looking for where that variable was set, but was unable to find it. Is there any way to specify the format?
I'm running sonarr-extended on unRAID 6.11.5, if that matters.
Im running this image on a proxmox vm with others like Radarr and Sab, and since this week i noticed that sonar is unreachable. When looking at the logs i keep getting the errors stated below. A restart and rebuild of the container dit not resolve this, and im not sure how to continue. All other containers are running as they should
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_baseD2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_end_catch: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_out_of_rangePKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt16__throw_bad_castv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_begin_catch: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_rethrow: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt6localeD1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_system_errori: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_base4InitC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _Znwm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt24__throw_out_of_range_fmtPKcz: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt24__throw_invalid_argumentPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_length_errorPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSolsEi: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _Unwind_Resume: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt9terminatev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt19__throw_logic_errorPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_base4InitD1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTVSt15basic_streambufIcSt11char_traitsIcEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTTSt13basic_fstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __gxx_personality_v0: symbol not found
Error loading shared library libstdc++.so.6: Exec format error (needed by /app/sonarr/bin/Sonarr)
Error loading shared library libgcc_s.so.1: Exec format error (needed by /app/sonarr/bin/Sonarr)
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt5ctypeIcE13_M_widen_initEv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZdlPv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_baseD2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_end_catch: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_out_of_rangePKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt16__throw_bad_castv: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_begin_catch: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __cxa_rethrow: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt6localeD1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_system_errori: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_base4InitC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _Znwm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt24__throw_out_of_range_fmtPKcz: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt24__throw_invalid_argumentPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt20__throw_length_errorPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSolsEi: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _Unwind_Resume: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt9terminatev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZSt19__throw_logic_errorPKc: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZNSt8ios_base4InitD1Ev: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTVSt15basic_streambufIcSt11char_traitsIcEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTTSt13basic_fstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /app/sonarr/bin/Sonarr: __gxx_personality_v0: symbol not found```
Hi. Is there any plans for a JellyfinNotify.bash by any chance (Radarr/Sonarr/Lidarr). I'm still using https://hotio.dev/containers/autoscan but only for Jellyfin since your Plex script just works and is much simpler.
I have edited the custom formats for SDR three times. The existing custom type filters out HDR content, specifically for only 2160p content. I have come across many 1080p releases that are a variety of HDR that I want to filter out. The edit I made to the existing filter was to remove the 2160p requirement. But when the container restarts, the custom type is restored to its default config.
I just wanted to ask if you might know if anything in the extended Docker container might stop API access to Sonarr via /api
?
I know the docs on the API reference /api/v3
I'm running HAOS, and there is an integration in HACS that will pull in recently added shows. I can see the code hooking into /api
instead of /api/v3
.
When connecting to /api
, my response is blank. Hooking into /api/v3
I get a proper JSON output.
But other people running the same Sonarr v3 version as I am, still have access to /api
and pulls are working fine for them. Specifically, the Windows build of Sonarr responds to /api
whereas the Docker container version does not.
If I go to the Sonarr Discord and mention 'extended' I get shoowed away. They don't want to look at it. So my first stop is here to see if anything in the extended might be the cause of the problem.
Youtube-Series-Downloader is finding Series but is struggling to find url.
Good Example of use case for Playlist:
Late Night With Seth Meyers: Corrections
https://www.youtube.com/playlist?list=PLJaq64dKJZopIwlqdjPra6a0sHoh_tlVZ
^^ actually specific Web only episodes of Late Night With Seth Meyers but has a specific title.
Same with Disconnected:
https://youtube.com/playlist?list=PLCqGc7uWCn7vBlMuMYDn8Nk8CaV130U_X
Log:
Youtube-Series-Downloader.txt
2023-02-05 05:54:37 :: Youtube Series Downloader :: 1.0.0 :: Cookies File Not Found!
2023-02-05 05:54:49 :: Youtube Series Downloader :: 1.0.0 :: 2/3 :: 1/4 :: Disconnected :: S1E1 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:50 :: Youtube Series Downloader :: 1.0.0 :: 2/3 :: 2/4 :: Disconnected :: S1E2 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:50 :: Youtube Series Downloader :: 1.0.0 :: 2/3 :: 3/4 :: Disconnected :: S1E3 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:50 :: Youtube Series Downloader :: 1.0.0 :: 2/3 :: 4/4 :: Disconnected :: S1E4 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:51 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 1/71 :: Late Night With Seth Meyers: Corrections :: S1E1 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:52 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 2/71 :: Late Night With Seth Meyers: Corrections :: S1E2 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:52 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 3/71 :: Late Night With Seth Meyers: Corrections :: S1E3 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:53 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 4/71 :: Late Night With Seth Meyers: Corrections :: S1E4 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:53 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 5/71 :: Late Night With Seth Meyers: Corrections :: S1E5 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:54 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 6/71 :: Late Night With Seth Meyers: Corrections :: S1E6 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:54 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 7/71 :: Late Night With Seth Meyers: Corrections :: S1E7 :: ERROR :: No Download URL found, skipping
[Youtube-Series-Downloader.txt](https://github.com/RandomNinjaAtk/docker-sonarr-extended/files/10611095/Youtube-Series-Downloader.txt)
2023-02-05 05:54:55 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 8/71 :: Late Night With Seth Meyers: Corrections :: S1E8 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:55 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 9/71 :: Late Night With Seth Meyers: Corrections :: S1E9 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:56 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 10/71 :: Late Night With Seth Meyers: Corrections :: S1E10 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:56 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 11/71 :: Late Night With Seth Meyers: Corrections :: S1E11 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:57 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 12/71 :: Late Night With Seth Meyers: Corrections :: S1E12 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:57 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 13/71 :: Late Night With Seth Meyers: Corrections :: S1E13 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:58 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 14/71 :: Late Night With Seth Meyers: Corrections :: S1E14 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:58 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 15/71 :: Late Night With Seth Meyers: Corrections :: S1E15 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:58 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 16/71 :: Late Night With Seth Meyers: Corrections :: S1E16 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:59 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 17/71 :: Late Night With Seth Meyers: Corrections :: S1E17 :: ERROR :: No Download URL found, skipping
2023-02-05 05:54:59 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 18/71 :: Late Night With Seth Meyers: Corrections :: S1E18 :: ERROR :: No Download URL found, skipping
2023-02-05 05:55:00 :: Youtube Series Downloader :: 1.0.0 :: 3/3 :: 19/71 :: Late Night With Seth Meyers: Corrections :: S1E19 :: ERROR :: No Download URL found, skipping
I replaced my existing Sonarr install with this sonarr-extended after I had a good experience with your docker-amtd container for Radarr.
As I understand it AutoConfig is necessary to setup the other scripts in Sonarr. But I found out the hard way it enables metadata, uses different media management and file naming. For my setup this is not wanted.
Commenting out those parts of the script is useless because it is overwritten on start. So disabled this feature for now and restored my config.
Also I would like to keep the Capital letter folder-naming for extra's of the AMTD container for consistency reasons.
I hope some changes can be made to accomplish this.
Are you able to add the functionality?
I Have installed sonarr extended on unraid, restored my backup.. can i add and run these scripts after wards?
I changed the scripts from false to true but does not seem to add them?
can a config option be created to disable running DailySeriesEpisodeTrimmer.bash?
Hi. Trying to set this up as I love your Lidarr extended one. But noticed that this one pulls the new v4 sonarr and don't seem to be able to fully run the AutoConfig and Recyclarr or is there any extra config that has to be done?
Also does this support a dual setup, I currently have two sonarr setups to have one up to 1080p and one 2160p.
Could the script that prunes daily series to 14 days also update sonarr to unmonitor those episodes?
I am sure you were wondering when I would get to this. Nah, I am sure you are fed up with me.
Nevertheless. After this, you won't hear from me again. ๐
Docker ENV Variables:
useProxy=true
proxyUrl=http://xxx.xxx.xxx.xxx/
proxyPort=8080
proxyUsername=username
proxyPassword=password
Replace Extras.bash with the below:
#!/usr/bin/env bash
scriptVersion="1.0.1"
arrEventType="$sonarr_eventtype"
arrItemId=$sonarr_series_id
tmdbApiKey="3b7751e3179f796565d88fdb2fcdf426"
autoScan="false"
updatePlex="false"
if [ ! -z "$1" ]; then
arrItemId="$1"
autoScan="true"
fi
# Debugging
#arrItemId=818
#extrasLanguages=en-US,it-IT
#extrasType=all
#extrasOfficialOnly=false
#enableExtras=true
if [ -z "$arrUrl" ] || [ -z "$arrApiKey" ]; then
arrUrlBase="$(cat /config/config.xml | xq | jq -r .Config.UrlBase)"
if [ "$arrUrlBase" == "null" ]; then
arrUrlBase=""
else
arrUrlBase="/$(echo "$arrUrlBase" | sed "s/\///g")"
fi
arrApiKey="$(cat /config/config.xml | xq | jq -r .Config.ApiKey)"
arrPort="$(cat /config/config.xml | xq | jq -r .Config.Port)"
arrUrl="http://127.0.0.1:${arrPort}${arrUrlBase}"
fi
log () {
m_time=`date "+%F %T"`
echo $m_time" :: Extras :: $scriptVersion :: "$1
}
# auto-clean up log file to reduce space usage
if [ -f "/config/logs/Extras.txt" ]; then
find /config/logs -type f -name "Extras.txt" -size +1024k -delete
fi
if [ ! -f "/config/logs/Extras.txt" ]; then
touch "/config/logs/Extras.txt"
chmod 666 "/config/logs/Extras.txt"
fi
exec &> >(tee -a "/config/logs/Extras.txt")
if [ "$arrEventType" == "Test" ]; then
log "Tested Successfully"
exit 0
fi
# Check to see if Extras are enabled via ENV
if [ "$enableExtras" != "true" ]; then
log "Script disabled, exiting..."
log "Enable by setting enableExtras=true"
exit
fi
# Get series information
arrItemData=$(curl -s "$arrUrl/api/v3/series/$arrItemId?apikey=$arrApiKey")
itemTitle=$(echo "$arrItemData" | jq -r .title)
itemHasFile=$(echo "$arrItemData" | jq -r .hasFile)
itemPath="$(echo "$arrItemData" | jq -r ".path")"
imdbId="$(echo "$arrItemData" | jq -r ".imdbId")"
if [ "$useProxy" != "true" ]; then
tmdbId=$(curl -s "https://api.themoviedb.org/3/find/$imdbId?api_key=$tmdbApiKey&external_source=imdb_id" | jq -r .tv_results[].id)
else
tmdbId=$(curl -x $proxyUrl:$proxyPort --proxy-user $proxyUsername:$proxyPassword -s "https://api.themoviedb.org/3/find/$imdbId?api_key=$tmdbApiKey&external_source=imdb_id" | jq -r .tv_results[].id)
fi
# Check if series folder path exists
if [ ! -d "$itemPath" ]; then
log "$itemTitle :: ERROR: Item Path does not exist ($itemPath), Skipping..."
exit
fi
DownloadExtras () {
# Check for cookies file
if find /config -type f -name "cookies.txt" | read; then
cookiesFile="$(find /config -type f -iname "cookies.txt" | head -n1)"
log "$itemTitle :: Cookies File Found!"
else
log "$itemTitle :: Cookies File Not Found!"
cookiesFile=""
fi
IFS=',' read -r -a filters <<< "$extrasLanguages"
for filter in "${filters[@]}"
do
if [ "$useProxy" != "true" ]; then
tmdbVideosListData=$(curl -s "https://api.themoviedb.org/3/tv/$tmdbId/videos?api_key=$tmdbApiKey&language=$filter" | jq -r '.results[] | select(.site=="YouTube")')
else
tmdbVideosListData=$(curl -x $proxyUrl:$proxyPort --proxy-user $proxyUsername:$proxyPassword -s "https://api.themoviedb.org/3/tv/$tmdbId/videos?api_key=$tmdbApiKey&language=$filter" | jq -r '.results[] | select(.site=="YouTube")')
fi
log "$itemTitle :: Searching for \"$filter\" extras..."
if [ "$extrasType" == "all" ]; then
tmdbVideosListDataIds=$(echo "$tmdbVideosListData" | jq -r ".id")
tmdbVideosListDataIdsCount=$(echo "$tmdbVideosListData" | jq -r ".id" | wc -l)
else
tmdbVideosListDataIds=$(echo "$tmdbVideosListData" | jq -r "select(.type==\"Trailer\") | .id")
tmdbVideosListDataIdsCount=$(echo "$tmdbVideosListData" | jq -r "select(.type==\"Trailer\") | .id" | wc -l)
fi
if [ -z "$tmdbVideosListDataIds" ]; then
log "$itemTitle :: None found..."
continue
fi
if [ $tmdbVideosListDataIdsCount -le 0 ]; then
log "$itemTitle :: No Extras Found, skipping..."
exit
fi
log "$itemTitle :: $tmdbVideosListDataIdsCount Extras Found!"
i=0
for id in $(echo "$tmdbVideosListDataIds"); do
i=$(( i + 1))
tmdbExtraData="$(echo "$tmdbVideosListData" | jq -r "select(.id==\"$id\")")"
tmdbExtraTitle="$(echo "$tmdbExtraData" | jq -r .name)"
tmdbExtraTitleClean="$(echo "$tmdbExtraTitle" | sed -e "s/[^[:alpha:][:digit:]$^&_+=()'%;{},.@#]/ /g" -e "s/ */ /g" | sed 's/^[.]*//' | sed 's/[.]*$//g' | sed 's/^ *//g' | sed 's/ *$//g')"
tmdbExtraKey="$(echo "$tmdbExtraData" | jq -r .key)"
tmdbExtraType="$(echo "$tmdbExtraData" | jq -r .type)"
tmdbExtraOfficial="$(echo "$tmdbExtraData" | jq -r .official)"
if [ "$tmdbExtraOfficial" != "true" ]; then
if [ "$extrasOfficialOnly" == "true" ]; then
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: Not official, skipping..."
continue
fi
fi
if [ "$tmdbExtraType" == "Featurette" ]; then
extraFolderName="featurettes"
elif [ "$tmdbExtraType" == "Trailer" ]; then
extraFolderName="trailers"
elif [ "$tmdbExtraType" == "Behind the Scenes" ]; then
extraFolderName="behind the scenes"
else
extraFolderName="other"
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: ERROR :: Extra Type Not found, placing in \"other\" folder..."
if [ -f "/config/logs/Extras-InvalidType.txt" ]; then
if cat "/config/logs/Extras-InvalidType.txt" | grep "$tmdbExtraType" | read; then
sleep 0.01
else
echo "$tmdbExtraType" >> "/config/logs/Extras-InvalidType.txt"
fi
fi
fi
if [ ! -d "$itemPath/$extraFolderName" ]; then
mkdir -p "$itemPath/$extraFolderName"
chmod 777 "$itemPath/$extraFolderName"
fi
finalPath="$itemPath/$extraFolderName"
if [ -f "$finalPath/$tmdbExtraTitleClean.mkv" ]; then
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle ($tmdbExtraKey) :: Already Downloaded, skipping..."
continue
fi
videoLanguages="$(echo "$extrasLanguages" | sed "s/-[[:alpha:]][[:alpha:]]//g")"
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle ($tmdbExtraKey) :: Downloading (yt-dlp :: $videoFormat)..."
if [ ! -z "$cookiesFile" ]; then
yt-dlp -f "$videoFormat" --no-video-multistreams --cookies "$cookiesFile" -o "$finalPath/$tmdbExtraTitleClean" --write-sub --sub-lang $videoLanguages --embed-subs --merge-output-format mkv --no-mtime --geo-bypass "https://www.youtube.com/watch?v=$tmdbExtraKey" &>/dev/null
else
yt-dlp -f "$videoFormat" --no-video-multistreams -o "$finalPath/$tmdbExtraTitleClean" --write-sub --sub-lang $videoLanguages --embed-subs --merge-output-format mkv --no-mtime --geo-bypass "https://www.youtube.com/watch?v=$tmdbExtraKey" &>/dev/null
fi
if [ -f "$finalPath/$tmdbExtraTitleClean.mkv" ]; then
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle ($tmdbExtraKey) :: Compete"
chmod 666 "$finalPath/$tmdbExtraTitleClean.mkv"
else
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle ($tmdbExtraKey) :: ERROR :: Download Failed"
continue
fi
if python3 /usr/local/sma/manual.py --config "/sma.ini" -i "$finalPath/$tmdbExtraTitleClean.mkv" -nt &>/dev/null; then
sleep 0.01
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle :: Processed with SMA..."
rm /usr/local/sma/config/*log*
else
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle :: ERROR :: SMA Processing Error"
rm "$finalPath/$tmdbExtraTitleClean.mkv"
log "$itemTitle :: $i of $tmdbVideosListDataIdsCount :: $tmdbExtraType :: $tmdbExtraTitle :: INFO: deleted: $finalPath/$tmdbExtraTitleClean.mkv"
fi
updatePlex="true"
done
done
# Mark Series Extras Complete
if [ ! -d "/config/extended/logs/extras" ]; then
mkdir -p "/config/extended/logs/extras"
chmod 777 "/config/extended/logs/extras"
fi
log "$itemTitle :: Marking/logging as Extras downloads complete (/config/extended/logs/extras/$tmdbId)"
touch "/config/extended/logs/extras/$tmdbId"
chmod 666 "/config/extended/logs/extras/$tmdbId"
}
NotifyPlex () {
# Process item with PlexNotify.bash if plexToken is configured
if [ ! -z "$plexToken" ]; then
# Always update plex if extra is downloaded
if [ "$updatePlex" == "true" ]; then
log "$itemTitle :: Using PlexNotify.bash to update Plex...."
bash /config/extended/scripts/PlexNotify.bash "$itemPath"
exit
fi
# Do not notify plex if this script was triggered by the AutoExtras.bash and no Extras were downloaded
if [ "$autoScan" == "true" ]; then
log "$itemTitle :: Skipping plex notification, not needed...."
exit
else
log "$itemTitle :: Using PlexNotify.bash to update Plex...."
bash /config/extended/scripts/PlexNotify.bash "$itemPath"
exit
fi
fi
}
# Check if series has been previously processed
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
# Delete log file older than 7 days, to allow re-processing
find "/config/extended/logs/extras" -type f -mtime +7 -name "$tmdbId" -delete
fi
if [ -f "/config/extended/logs/extras/$tmdbId" ]; then
log "$itemTitle :: Already processed Extras, waiting 7 days to re-check..."
NotifyPlex
exit
else
DownloadExtras
NotifyPlex
fi
exit
Afternoon. I just wanted to inquire whether you'd be updating your Plex Notify script to use the API scan instead of the CLI Scan since Plex says that will be deprecated in a future undisclosed version?
Thanks for what we have available now! Works great!!
I have my plex URL and token setup, but nothing seems to happen when one of the qualifying events occurs [import, rename, etc.]. I renamed a show and watched the sonarr log. Nothing in the log indicated that the script was executed, and plex itself did not update. any ideas? i checked the wiki but there's no section for the plex script.
Thanks in advance.
Whenever I try to set up any of the extended scripts to work with the custom script connect feature I get a permission denied error.
I have this set in my docker container environment:
- PGID=1000 - PUID=1000
User/Group 1000 owns the directory where the extended scripts are and permissions are wide open. However in the container, the /app/sonarr/bin directory is owned by root. What do I need to do to get the scripts working?
-- : An error occurred trying to start process '/scripts/DailySeriesEpisodeTrimmer.bash' with working directory '/app/sonarr/bin'. Permission denied
Running the latest docker of sonarr-extended and the quality settings continues to revert themselves back to default. Is this something you've experienced? This is running Sonarr v4.00544. Nothing in the logs is suggesting that something may be off.._
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.