From ae435649dad852ea75a0ac04d9b446802ccd9b76 Mon Sep 17 00:00:00 2001 From: Xi Bai Date: Fri, 29 Aug 2025 16:02:25 +0100 Subject: [PATCH 1/3] fix(docker): ensure uv-installed dependencies are accessible to user cms --- docker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 842cd70..ee9ff69 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -36,6 +36,7 @@ RUN mkdir -p /app/model/model && \ chown -R $CMS_UID:$CMS_GID /app RUN pip install --no-cache-dir uv==0.7.20 && \ uv sync --locked && \ + chown -R $CMS_UID:$CMS_GID /.venv && \ chmod +x /app/entrypoint.sh WORKDIR /app From 6c46e0a62830b5113877ef6211adae91c4096748 Mon Sep 17 00:00:00 2001 From: Xi Bai Date: Fri, 29 Aug 2025 17:34:25 +0100 Subject: [PATCH 2/3] fix(docker): run the entrypoint without using uv run --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index ee9ff69..47fc9fc 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -42,4 +42,4 @@ RUN pip install --no-cache-dir uv==0.7.20 && \ WORKDIR /app EXPOSE 8000 USER cms:cms -CMD ["uv", "run", "/app/entrypoint.sh"] +CMD ["bash", "-c", "source /.venv/bin/activate && ./entrypoint.sh"] From 32a5861d5e01d6fb937315a5d2d50d29b4b5632b Mon Sep 17 00:00:00 2001 From: Xi Bai Date: Mon, 1 Sep 2025 09:59:09 +0100 Subject: [PATCH 3/3] feat(docker): make sure CMS runs in PID 1 --- docker/Dockerfile | 2 +- docker/entrypoint/serve.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 47fc9fc..aea6e1c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -42,4 +42,4 @@ RUN pip install --no-cache-dir uv==0.7.20 && \ WORKDIR /app EXPOSE 8000 USER cms:cms -CMD ["bash", "-c", "source /.venv/bin/activate && ./entrypoint.sh"] +CMD ["bash", "-c", "./entrypoint.sh"] diff --git a/docker/entrypoint/serve.sh b/docker/entrypoint/serve.sh index 1c437bb..34d5bff 100644 --- a/docker/entrypoint/serve.sh +++ b/docker/entrypoint/serve.sh @@ -28,7 +28,9 @@ else streamable="" fi -python cli/cli.py serve \ +source /.venv/bin/activate + +exec /.venv/bin/python cli/cli.py serve \ --model-type "${CMS_MODEL_TYPE}" \ --model-name "${CMS_MODEL_NAME}" \ --model-path "${CMS_MODEL_FILE}" \