From 65a2a6ed948d653be2436c1f69914aa47293f23a Mon Sep 17 00:00:00 2001 From: "XPS\\Micro" Date: Thu, 19 Mar 2026 07:58:28 +0100 Subject: [PATCH] fix: Connect containers to Traefik network using network.connect() instead of broken network parameter --- container_manager.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/container_manager.py b/container_manager.py index 4fbea9d..22078b5 100644 --- a/container_manager.py +++ b/container_manager.py @@ -64,7 +64,6 @@ class ContainerManager: Config.USER_TEMPLATE_IMAGE, name=f"user-{slug}-{user_id}", detach=True, - network=Config.TRAEFIK_NETWORK, labels=labels, environment={ 'USER_ID': str(user_id), @@ -75,6 +74,16 @@ class ContainerManager: cpu_quota=Config.DEFAULT_CPU_QUOTA ) + # Container an Traefik-Netzwerk verbinden + try: + network = self._get_client().networks.get(Config.TRAEFIK_NETWORK) + network.connect(container) + print(f"[SPAWNER] Container an Netzwerk '{Config.TRAEFIK_NETWORK}' verbunden") + except Exception as e: + print(f"[SPAWNER] WARNUNG: Container konnte nicht an Netzwerk verbunden werden: {str(e)}") + container.remove(force=True) + raise Exception(f"Konnte Container nicht an Netzwerk '{Config.TRAEFIK_NETWORK}' verbinden: {str(e)}") + print(f"[SPAWNER] Container created: {container.id[:12]}") print(f"[SPAWNER] URL: https://{base_host}/{slug}") return container.id, 8080 @@ -226,7 +235,6 @@ class ContainerManager: image=image, name=container_name, detach=True, - network=Config.TRAEFIK_NETWORK, labels=labels, environment={ 'USER_ID': str(user_id), @@ -238,6 +246,16 @@ class ContainerManager: cpu_quota=Config.DEFAULT_CPU_QUOTA ) + # Container an Traefik-Netzwerk verbinden + try: + network = self._get_client().networks.get(Config.TRAEFIK_NETWORK) + network.connect(container) + print(f"[SPAWNER] Container an Netzwerk '{Config.TRAEFIK_NETWORK}' verbunden") + except Exception as e: + print(f"[SPAWNER] WARNUNG: Container konnte nicht an Netzwerk verbunden werden: {str(e)}") + container.remove(force=True) + raise Exception(f"Konnte Container nicht an Netzwerk '{Config.TRAEFIK_NETWORK}' verbinden: {str(e)}") + print(f"[SPAWNER] {container_type.upper()} container created: {container.id[:12]}") print(f"[SPAWNER] URL: {Config.PREFERRED_URL_SCHEME}://{base_host}/{slug_with_suffix}") return container.id, 8080