baxin commited on
Commit
8b3e169
·
verified ·
1 Parent(s): df7d9dd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- ENV UV_CACHE_DIR=/opt/uv/cache
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
- # cache-friendly deps install
 
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 ----