Spaces:
Paused
Paused
Update Dockerfile
Browse files- Dockerfile +6 -10
Dockerfile
CHANGED
|
@@ -2,7 +2,6 @@ FROM ubuntu:22.04
|
|
| 2 |
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 4 |
|
| 5 |
-
# ---- system deps ----
|
| 6 |
RUN apt-get update \
|
| 7 |
&& apt-get install -y --no-install-recommends \
|
| 8 |
build-essential \
|
|
@@ -21,12 +20,9 @@ RUN curl -LsSf https://astral.sh/uv/install.sh | sh \
|
|
| 21 |
|
| 22 |
# Put uv-managed python somewhere world-readable
|
| 23 |
ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
RUN mkdir -p /opt/uv/python /opt/uv/cache \
|
| 27 |
&& chmod -R 755 /opt/uv
|
| 28 |
|
| 29 |
-
# ---- install Python via uv ----
|
| 30 |
ARG PYTHON_VERSION=3.12.12
|
| 31 |
RUN uv python install ${PYTHON_VERSION}
|
| 32 |
|
|
@@ -35,25 +31,25 @@ ARG OPENTRONS_REF=edge
|
|
| 35 |
RUN git clone --depth 1 --branch ${OPENTRONS_REF} https://github.com/Opentrons/opentrons.git /root/opentrons
|
| 36 |
|
| 37 |
WORKDIR /root/opentrons
|
| 38 |
-
|
| 39 |
-
# ---- robot-server setup ----
|
| 40 |
RUN uv run --python ${PYTHON_VERSION} make -C robot-server setup
|
| 41 |
|
| 42 |
# ---- app user ----
|
| 43 |
RUN useradd -m -u 1000 user
|
| 44 |
USER user
|
|
|
|
| 45 |
ENV HOME=/home/user
|
|
|
|
|
|
|
| 46 |
|
| 47 |
WORKDIR $HOME/app
|
| 48 |
|
| 49 |
-
|
|
|
|
| 50 |
COPY --chown=user requirements.txt $HOME/app/requirements.txt
|
| 51 |
|
| 52 |
-
# create venv + install deps (user can run uv now)
|
| 53 |
RUN uv venv --python ${PYTHON_VERSION} .venv \
|
| 54 |
&& uv pip install --python .venv/bin/python -r requirements.txt
|
| 55 |
|
| 56 |
-
# copy app
|
| 57 |
COPY --chown=user . $HOME/app
|
| 58 |
|
| 59 |
# ---- entrypoint ----
|
|
|
|
| 2 |
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 4 |
|
|
|
|
| 5 |
RUN apt-get update \
|
| 6 |
&& apt-get install -y --no-install-recommends \
|
| 7 |
build-essential \
|
|
|
|
| 20 |
|
| 21 |
# Put uv-managed python somewhere world-readable
|
| 22 |
ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python
|
| 23 |
+
RUN mkdir -p /opt/uv/python \
|
|
|
|
|
|
|
| 24 |
&& chmod -R 755 /opt/uv
|
| 25 |
|
|
|
|
| 26 |
ARG PYTHON_VERSION=3.12.12
|
| 27 |
RUN uv python install ${PYTHON_VERSION}
|
| 28 |
|
|
|
|
| 31 |
RUN git clone --depth 1 --branch ${OPENTRONS_REF} https://github.com/Opentrons/opentrons.git /root/opentrons
|
| 32 |
|
| 33 |
WORKDIR /root/opentrons
|
|
|
|
|
|
|
| 34 |
RUN uv run --python ${PYTHON_VERSION} make -C robot-server setup
|
| 35 |
|
| 36 |
# ---- app user ----
|
| 37 |
RUN useradd -m -u 1000 user
|
| 38 |
USER user
|
| 39 |
+
|
| 40 |
ENV HOME=/home/user
|
| 41 |
+
# ✅ cache goes to a writable location
|
| 42 |
+
ENV UV_CACHE_DIR=/home/user/.cache/uv
|
| 43 |
|
| 44 |
WORKDIR $HOME/app
|
| 45 |
|
| 46 |
+
RUN mkdir -p $UV_CACHE_DIR
|
| 47 |
+
|
| 48 |
COPY --chown=user requirements.txt $HOME/app/requirements.txt
|
| 49 |
|
|
|
|
| 50 |
RUN uv venv --python ${PYTHON_VERSION} .venv \
|
| 51 |
&& uv pip install --python .venv/bin/python -r requirements.txt
|
| 52 |
|
|
|
|
| 53 |
COPY --chown=user . $HOME/app
|
| 54 |
|
| 55 |
# ---- entrypoint ----
|