Skip to content

Commit a5f5fb1

Browse files
committed
changes
1 parent f2b99b1 commit a5f5fb1

File tree

1 file changed

+9
-57
lines changed

1 file changed

+9
-57
lines changed

backend/Dockerfile

Lines changed: 9 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -14,61 +14,23 @@ ENV DJANGO_SETTINGS_MODULE=pycon.settings.prod \
1414
CELERY_RESULT_BACKEND=demo \
1515
HASHID_DEFAULT_SECRET_SALT=demo
1616

17-
FROM base AS build-stage
18-
19-
ARG FUNCTION_DIR
20-
21-
RUN mkdir -p ${FUNCTION_DIR}
22-
WORKDIR ${FUNCTION_DIR}
23-
2417
RUN apt-get update -y && apt-get install -y \
25-
gcc libpq-dev git \
26-
# Pillow
2718
libtiff5-dev libjpeg62 libopenjp2-7-dev zlib1g-dev \
2819
libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk \
2920
libharfbuzz-dev libfribidi-dev libxcb1-dev libldap2-dev libldap-2.5-0 \
3021
ffmpeg libsm6 libxext6 libglib2.0-0 libpango-1.0-0 libpangoft2-1.0-0 libharfbuzz-subset0
3122

32-
ENV LIBRARY_PATH=/lib:/usr/lib LD_LIBRARY_PATH=/lib:/usr/lib
23+
FROM base AS build-stage
3324

34-
RUN pip install uv==0.5.5
25+
ARG FUNCTION_DIR
26+
27+
RUN apt-get update -y && apt-get install -y \
28+
gcc libpq-dev git
29+
30+
RUN mkdir -p ${FUNCTION_DIR}
31+
WORKDIR ${FUNCTION_DIR}
3532

36-
RUN tar -czvf /libs.tar.gz --strip-components=4 \
37-
/usr/lib/aarch64-linux-gnu/libpq* \
38-
/usr/lib/aarch64-linux-gnu/libldap_r* \
39-
/usr/lib/aarch64-linux-gnu/libldap* \
40-
/usr/lib/aarch64-linux-gnu/liblber* \
41-
/usr/lib/aarch64-linux-gnu/libsasl* \
42-
/usr/lib/aarch64-linux-gnu/libxml2* \
43-
/usr/lib/aarch64-linux-gnu/libgcrypt* \
44-
/usr/lib/aarch64-linux-gnu/libstdc++* \
45-
/usr/lib/aarch64-linux-gnu/libjpeg* \
46-
/usr/lib/aarch64-linux-gnu/libopenjp2* \
47-
/usr/lib/aarch64-linux-gnu/libdeflate* \
48-
/usr/lib/aarch64-linux-gnu/libjbig* \
49-
/usr/lib/aarch64-linux-gnu/liblcms2* \
50-
/usr/lib/aarch64-linux-gnu/libwebp* \
51-
/usr/lib/aarch64-linux-gnu/libtiff* \
52-
/usr/lib/aarch64-linux-gnu/libGL* \
53-
/usr/lib/aarch64-linux-gnu/libgthread* \
54-
/usr/lib/aarch64-linux-gnu/libglib-* \
55-
/usr/lib/aarch64-linux-gnu/libX11* \
56-
/usr/lib/aarch64-linux-gnu/libxcb* \
57-
/usr/lib/aarch64-linux-gnu/libXau* \
58-
/usr/lib/aarch64-linux-gnu/libXdmcp* \
59-
/usr/lib/aarch64-linux-gnu/libXext* \
60-
/usr/lib/aarch64-linux-gnu/libpango* \
61-
/usr/lib/aarch64-linux-gnu/libharf* \
62-
/usr/lib/aarch64-linux-gnu/libharfbuzz* \
63-
/usr/lib/aarch64-linux-gnu/libfontconfig* \
64-
/usr/lib/aarch64-linux-gnu/libexpat* \
65-
/usr/lib/aarch64-linux-gnu/libgobject* \
66-
/usr/lib/aarch64-linux-gnu/libbrotli* \
67-
/usr/lib/aarch64-linux-gnu/libpng* \
68-
/usr/lib/aarch64-linux-gnu/libthai* \
69-
/usr/lib/aarch64-linux-gnu/libfribidi* \
70-
/usr/lib/aarch64-linux-gnu/libdatrie* \
71-
/usr/lib/aarch64-linux-gnu/libbsd*;
33+
RUN pip install uv==0.5.5
7234

7335
COPY pyproject.toml uv.lock ./
7436

@@ -117,22 +79,12 @@ COPY --chown=app:app --from=js-stage ${FUNCTION_DIR}/dist/*.html ${FUNCTION_DIR}
11779
COPY --chown=app:app --from=js-stage ${FUNCTION_DIR}/dist/_astro ${FUNCTION_DIR}/custom_admin/static/_astro/
11880
COPY --chown=app:app --from=build-stage ${FUNCTION_DIR}/.venv ${FUNCTION_DIR}/.venv
11981

120-
COPY --from=build-stage /usr/local/lib/*.so* /usr/local/lib/
121-
COPY --from=build-stage /libs.tar.gz /libs.tar.gz
122-
123-
RUN tar -xvf /libs.tar.gz -C /usr/lib/aarch64-linux-gnu && \
124-
tar -xvf /libs.tar.gz -C /lib/aarch64-linux-gnu && \
125-
rm /libs.tar.gz && \
126-
ldconfig
127-
12882
COPY --chown=app:app . ${FUNCTION_DIR}
12983

13084
USER app
13185

13286
RUN mkdir -p assets
13387

134-
ENV DJANGO_SETTINGS_MODULE=pycon.settings.prod
135-
13688
RUN .venv/bin/python manage.py collectstatic --noinput
13789

13890
ENTRYPOINT ["/home/app/.venv/bin/gunicorn"]

0 commit comments

Comments
 (0)