11# Sandbox base image
22FROM zenmldocker/zenml-sandbox:latest
33
4+ # Install uv from official distroless image
5+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
6+
7+ # Set uv environment variables for optimization
8+ ENV UV_SYSTEM_PYTHON=1
9+ ENV UV_COMPILE_BYTECODE=1
10+
411# Project metadata
512LABEL project_name="oncoclear"
613LABEL project_version="0.1.0"
714
8- # Install dependencies
9- RUN pip install uv
10- RUN uv pip install --system \
15+ # Install dependencies with uv and cache optimization
16+ RUN --mount=type=cache,target=/root/.cache/uv \
17+ uv pip install --system \
1118 "zenml[server]>=0.50.0" \
1219 "notebook" \
1320 "scikit-learn" \
@@ -22,15 +29,8 @@ RUN git clone --depth 1 https://github.com/zenml-io/zenml-projects.git /tmp/zenm
2229 cp -r /tmp/zenml-projects/oncoclear/* /workspace/ && \
2330 rm -rf /tmp/zenml-projects
2431
25- # Create a template .env file for API keys
26- RUN echo "ZENML_PROJECT_SECRET_NAME=YOUR_ZENML_PROJECT_SECRET_NAME" && \
27- echo "ZENML_STORE_URL=YOUR_ZENML_STORE_URL" && \
28- echo "ZENML_STORE_API_KEY=YOUR_ZENML_STORE_API_KEY" > .env
29-
30- # Create a .vscode directory and settings.json file
32+ # VSCode settings
3133RUN mkdir -p /workspace/.vscode && \
32- echo '{\n'\
33- ' "workbench.colorTheme": "Default Dark Modern"\n'\
34- '}' > /workspace/.vscode/settings.json
34+ printf '{\n "workbench.colorTheme": "Default Dark Modern"\n}' > /workspace/.vscode/settings.json
3535
3636
0 commit comments