commit
175155fba0
1 changed files with 12 additions and 7 deletions
|
|
@ -424,8 +424,8 @@ class WelcomeScreen(Screen):
|
||||||
# Check for port conflicts before attempting to start anything
|
# Check for port conflicts before attempting to start anything
|
||||||
conflicts = []
|
conflicts = []
|
||||||
|
|
||||||
# Check container ports
|
# Check container ports only if services are not already running
|
||||||
if self.container_manager.is_available():
|
if self.container_manager.is_available() and not self.services_running:
|
||||||
ports_available, port_conflicts = await self.container_manager.check_ports_available()
|
ports_available, port_conflicts = await self.container_manager.check_ports_available()
|
||||||
if not ports_available:
|
if not ports_available:
|
||||||
for service_name, port, error_msg in port_conflicts[:3]: # Show first 3
|
for service_name, port, error_msg in port_conflicts[:3]: # Show first 3
|
||||||
|
|
@ -433,10 +433,11 @@ class WelcomeScreen(Screen):
|
||||||
if len(port_conflicts) > 3:
|
if len(port_conflicts) > 3:
|
||||||
conflicts.append(f"and {len(port_conflicts) - 3} more")
|
conflicts.append(f"and {len(port_conflicts) - 3} more")
|
||||||
|
|
||||||
# Check native service port
|
# Check native service port only if it's not already running
|
||||||
port_available, error_msg = self.docling_manager.check_port_available()
|
if not self.docling_manager.is_running():
|
||||||
if not port_available:
|
port_available, error_msg = self.docling_manager.check_port_available()
|
||||||
conflicts.append(f"docling (port {self.docling_manager._port})")
|
if not port_available:
|
||||||
|
conflicts.append(f"docling (port {self.docling_manager._port})")
|
||||||
|
|
||||||
# If there are any conflicts, show error and return
|
# If there are any conflicts, show error and return
|
||||||
if conflicts:
|
if conflicts:
|
||||||
|
|
@ -450,7 +451,7 @@ class WelcomeScreen(Screen):
|
||||||
return
|
return
|
||||||
|
|
||||||
# Step 1: Start container services first (to create the network)
|
# Step 1: Start container services first (to create the network)
|
||||||
if self.container_manager.is_available():
|
if self.container_manager.is_available() and not self.services_running:
|
||||||
# Check for version mismatch before starting
|
# Check for version mismatch before starting
|
||||||
has_mismatch, container_version, tui_version = await self.container_manager.check_version_mismatch()
|
has_mismatch, container_version, tui_version = await self.container_manager.check_version_mismatch()
|
||||||
if has_mismatch and container_version:
|
if has_mismatch and container_version:
|
||||||
|
|
@ -480,6 +481,10 @@ class WelcomeScreen(Screen):
|
||||||
on_complete=self._on_containers_started_start_native,
|
on_complete=self._on_containers_started_start_native,
|
||||||
)
|
)
|
||||||
self.app.push_screen(modal)
|
self.app.push_screen(modal)
|
||||||
|
elif self.services_running:
|
||||||
|
# Containers already running, just start native services
|
||||||
|
self.notify("Container services already running", severity="information")
|
||||||
|
await self._start_native_services_after_containers()
|
||||||
else:
|
else:
|
||||||
self.notify("No container runtime available", severity="warning")
|
self.notify("No container runtime available", severity="warning")
|
||||||
# Still try to start native services
|
# Still try to start native services
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue