Giter Club home page Giter Club logo

docker-sonarr-extended's People

Contributors

mikhail5555 avatar pmcnano avatar randomninjaatk avatar thebradleysanders avatar zachstultz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-sonarr-extended's Issues

Changing the number of episodes kept

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.

Switch from normal docker image to this image is not possible

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.

TRaSH Guides updated to new format - update scripts to pull from .json files?

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!

Question about QueueCleaner...

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.

SMA support?

Is SMA scripts no longer supported in this Sonarr version? I have been relying on them to standardize my videos.

queuecleaner not cleaning everything up

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?

Extras folder

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.

How to specify video resolution for Youtube-Series-Downloader.bash script?

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.

Error relocating /app/sonarr/bin/Sonarr:

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

Docker image overwrites edits to custom formats

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.

troubleshooting a Sonarr API access issue......

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 - No Download URL found

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

Youtube-Series-Downloader.txt

Script AutoConfig and Extras not configurable

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.

After the Fact

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?

Sonarr V4 not supported?

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.

Feature Request: Enable the use of a proxy

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

[Question] Plex Notify Script Update?

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

Plex script not working

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.

Can't run scripts permission denied

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

Quality settings reverts back

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.