@@ -68,12 +68,14 @@ LABEL distro="tests"
6868LABEL org.opencontainers.image.created="$BUILD_DATE"
6969LABEL org.opencontainers.image.version="$VERSION"
7070
71- ENV PATH=/app/. venv/bin:/usr/local/bin/:/usr/bin:/bin \
71+ ENV PATH=/venv/bin:/usr/local/bin/:/usr/bin:/bin \
7272 DJANGO_SETTINGS_MODULE=country_workspace.config.settings \
7373 PYTHONUNBUFFERED=1 \
7474 PYTHONDONTWRITEBYTECODE=1 \
75- PYTHONPATH="" \
75+ UV_PROJECT_ENVIRONMENT=/venv \
76+ VIRTUAL_ENV=/venv \
7677 UWSGI_PROCESSES=4
78+
7779WORKDIR /app
7880COPY uv.lock README.md MANIFEST.in pyproject.toml /app/
7981COPY src /app/src/
@@ -94,8 +96,10 @@ ENV PATH=/app/.venv/bin:/usr/local/bin/:/usr/bin:/bin \
9496 DJANGO_SETTINGS_MODULE=country_workspace.config.settings \
9597 PYTHONUNBUFFERED=1 \
9698 PYTHONDONTWRITEBYTECODE=1 \
97- PYTHONPATH="" \
99+ UV_PROJECT_ENVIRONMENT=/venv \
100+ VIRTUAL_ENV=/venv \
98101 UWSGI_PROCESSES=4
102+
99103WORKDIR /app
100104COPY uv.lock README.md MANIFEST.in pyproject.toml /app/
101105COPY src /app/src/
@@ -114,7 +118,7 @@ ARG BUILD_DATE
114118ARG GIT_SHA
115119ARG BRANCH
116120
117- ENV PATH=/app/. venv/bin:/usr/local/bin/:/usr/bin:/bin \
121+ ENV PATH=/venv/bin:/usr/local/bin/:/usr/bin:/bin \
118122 BUILD_DATE=$BUILD_DATE \
119123 GIT_SHA=$GIT_SHA \
120124 VERSION=$VERSION \
@@ -124,6 +128,8 @@ ENV PATH=/app/.venv/bin:/usr/local/bin/:/usr/bin:/bin \
124128 STATIC_URL="/static/" \
125129 PYTHONPATH="" \
126130 PGSSLCERT="/tmp/postgresql.crt" \
131+ UV_PROJECT_ENVIRONMENT=/venv \
132+ VIRTUAL_ENV=/venv \
127133 UWSGI_PROCESSES=4
128134
129135RUN <<EOF cat> /RELEASE
@@ -135,20 +141,14 @@ EOF
135141WORKDIR /app
136142COPY docker/conf /conf/
137143COPY docker/bin/* /usr/local/bin/
138- COPY LICENSE.md README.md /
139- COPY src /app/src/
140- RUN rm -fr /app/src/
141144
145+ COPY . /app/
142146
143- COPY --chown=hope:unicef --from=production /app/. venv /app/. venv
147+ COPY --chown=hope:unicef --from=production /venv /venv
144148COPY --from=builder /usr/local/bin/uwsgi /usr/local/bin/uv /usr/local/bin/
145149RUN --mount=type=cache,target=/root/.uv-cache \
146- --mount=type=bind,source=uv.lock,target=/app/uv.lock \
147- --mount=type=bind,source=pyproject.toml,target=/app/pyproject.toml \
148- --mount=type=bind,source=MANIFEST.in,target=/app/MANIFEST.in \
149- --mount=type=bind,source=README.md,target=/app/README.md \
150- --mount=type=bind,source=./src/country_workspace,target=/app/src/country_workspace \
151- uv --cache-dir=/root/.uv-cache pip install --link-mode=copy --no-deps .
150+ uv --cache-dir=/root/.uv-cache pip install --link-mode=copy --no-deps . \
151+ && rm -fr /app
152152
153153
154154EXPOSE 8000
0 commit comments