1
1
# Django impress
2
2
3
3
# ---- base image to inherit from ----
4
- FROM python:3.10-slim-bullseye as base
4
+ FROM python:3.12.6-alpine3.20 as base
5
5
6
6
# Upgrade pip to its latest release to speed up dependencies installation
7
- RUN python -m pip install --upgrade pip
7
+ RUN python -m pip install --upgrade pip setuptools
8
8
9
9
# Upgrade system packages to install security updates
10
- RUN apt-get update && \
11
- apt-get -y upgrade && \
12
- rm -rf /var/lib/apt/lists/*
10
+ RUN apk update && \
11
+ apk upgrade
13
12
14
13
# ---- Back-end builder image ----
15
14
FROM base as back-builder
@@ -38,12 +37,10 @@ RUN yarn install --frozen-lockfile && \
38
37
FROM base as link-collector
39
38
ARG IMPRESS_STATIC_ROOT=/data/static
40
39
41
- # Install libpangocairo & rdfind
42
- RUN apt-get update && \
43
- apt-get install -y \
44
- libpangocairo-1.0-0 \
45
- rdfind && \
46
- rm -rf /var/lib/apt/lists/*
40
+ # Install pango & rdfind
41
+ RUN apk add \
42
+ pango \
43
+ rdfind
47
44
48
45
# Copy installed python dependencies
49
46
COPY --from=back-builder /install /usr/local
@@ -67,18 +64,16 @@ FROM base as core
67
64
ENV PYTHONUNBUFFERED=1
68
65
69
66
# Install required system libs
70
- RUN apt-get update && \
71
- apt-get install -y \
72
- gettext \
73
- libcairo2 \
74
- libffi-dev \
75
- libgdk-pixbuf2.0-0 \
76
- libpango-1.0-0 \
77
- libpangocairo-1.0-0 \
78
- pandoc \
79
- fonts-noto-color-emoji \
80
- shared-mime-info && \
81
- rm -rf /var/lib/apt/lists/*
67
+ RUN apk add \
68
+ gettext \
69
+ cairo \
70
+ libffi-dev \
71
+ gdk-pixbuf \
72
+ pango \
73
+ pandoc \
74
+ font-noto-emoji \
75
+ font-noto \
76
+ shared-mime-info
82
77
83
78
# Copy entrypoint
84
79
COPY ./docker/files/usr/local/bin/entrypoint /usr/local/bin/entrypoint
@@ -108,9 +103,7 @@ FROM core as backend-development
108
103
USER root:root
109
104
110
105
# Install psql
111
- RUN apt-get update && \
112
- apt-get install -y postgresql-client && \
113
- rm -rf /var/lib/apt/lists/*
106
+ RUN apk add postgresql-client
114
107
115
108
# Uninstall impress and re-install it in editable mode along with development
116
109
# dependencies
0 commit comments