From 5fdac715b26f3ec4d65dd913d6f63416bdabb60e Mon Sep 17 00:00:00 2001 From: Ralf Grubenmann Date: Tue, 14 Mar 2023 10:52:33 +0100 Subject: [PATCH] feat(cli): allow setting local port on session docker provider (#3350) --- renku/core/session/docker.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/renku/core/session/docker.py b/renku/core/session/docker.py index a78675f25e..1f93ea3b08 100644 --- a/renku/core/session/docker.py +++ b/renku/core/session/docker.py @@ -121,7 +121,11 @@ def session_provider(self) -> ISessionProvider: def get_start_parameters(self) -> List["ProviderParameter"]: """Returns parameters that can be set for session start.""" - return [] + from renku.core.dataset.providers.models import ProviderParameter + + return [ + ProviderParameter("port", help="Local port to use (random if not specified).", type=int), + ] def get_open_parameters(self) -> List["ProviderParameter"]: """Returns parameters that can be set for session open.""" @@ -243,7 +247,7 @@ def session_start_helper(consider_disk_request: bool): f" --NotebookApp.notebook_dir={work_dir}" + (" --allow-root" if os.getuid() != 1000 else ""), detach=True, labels={"renku_project": project_name, "jupyter_token": auth_token}, - ports={f"{DockerSessionProvider.JUPYTER_PORT}/tcp": None}, + ports={f"{DockerSessionProvider.JUPYTER_PORT}/tcp": kwargs.get("port")}, remove=True, environment=environment, volumes=volumes,