88from utils .auto_update import Update
99from utils .dependencies import initialize_dependencies
1010from utils .core_services import has_core_service
11+ from utils .core_services import get_core_services
1112from utils .plex_dbrepair import start_plex_dbrepair_worker
1213from utils .ffprobe_monitor import start_ffprobe_monitor
1314from utils .setup import setup_project
@@ -519,7 +520,7 @@ def _build_plex_wait_entries(config_manager) -> list[dict]:
519520 base_url = f"{ parsed .scheme } ://{ host } "
520521 if not base_url :
521522 base_url = f"http://127.0.0.1:{ plex_port } "
522- return [{"url" : f"{ base_url } /identity" }]
523+ return [{"url" : f"{ base_url } /identity" , "core_service" : "plex" }]
523524
524525
525526def _build_media_wait_entries (config_manager ) -> list [dict ]:
@@ -533,7 +534,9 @@ def _build_media_wait_entries(config_manager) -> list[dict]:
533534 port = cfg .get ("port" )
534535 if not port :
535536 continue
536- wait_entries .append ({"url" : f"http://127.0.0.1:{ port } /System/Info/Public" })
537+ wait_entries .append (
538+ {"url" : f"http://127.0.0.1:{ port } /System/Info/Public" , "core_service" : key }
539+ )
537540 return wait_entries
538541
539542
@@ -543,12 +546,31 @@ def _apply_waits_to_service(config_manager, key: str, wait_entries: list[dict])
543546 cfg = config_manager .get (key , {})
544547 if not isinstance (cfg , dict ):
545548 return
549+ core_key = key .strip ().lower ()
546550 if "instances" in cfg and isinstance (cfg ["instances" ], dict ):
547551 for inst in cfg ["instances" ].values ():
548552 if isinstance (inst , dict ) and inst .get ("enabled" ):
549- _set_wait_for_urls (inst , wait_entries )
553+ inst_entries = wait_entries
554+ if core_key == "seerr" :
555+ core_services = get_core_services (inst )
556+ if core_services :
557+ inst_entries = [
558+ entry
559+ for entry in wait_entries
560+ if entry .get ("core_service" ) in core_services
561+ ]
562+ _set_wait_for_urls (inst , inst_entries )
550563 elif cfg .get ("enabled" ):
551- _set_wait_for_urls (cfg , wait_entries )
564+ inst_entries = wait_entries
565+ if core_key == "seerr" :
566+ core_services = get_core_services (cfg )
567+ if core_services :
568+ inst_entries = [
569+ entry
570+ for entry in wait_entries
571+ if entry .get ("core_service" ) in core_services
572+ ]
573+ _set_wait_for_urls (cfg , inst_entries )
552574
553575
554576def _collect_preinstall_targets (config_manager ) -> list [tuple [str , str ]]:
0 commit comments