Skip to content

Commit

Permalink
🚑️(frontend) fixe CVEs in backend image
Browse files Browse the repository at this point in the history
Use alpine version for production image instead of debian in order to
have less CVEs.
  • Loading branch information
rouja committed Sep 27, 2024
1 parent bb16aae commit c5376c4
Showing 1 changed file with 15 additions and 25 deletions.
40 changes: 15 additions & 25 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# Django impress

# ---- base image to inherit from ----
FROM python:3.10-slim-bullseye as base
FROM python:3.12.6-alpine3.20 as base

# Upgrade pip to its latest release to speed up dependencies installation
RUN python -m pip install --upgrade pip
RUN python -m pip install --upgrade pip setuptools

# Upgrade system packages to install security updates
RUN apt-get update && \
apt-get -y upgrade && \
rm -rf /var/lib/apt/lists/*
RUN apk update && \
apk upgrade

# ---- Back-end builder image ----
FROM base as back-builder
Expand Down Expand Up @@ -39,11 +38,9 @@ FROM base as link-collector
ARG IMPRESS_STATIC_ROOT=/data/static

# Install libpangocairo & rdfind
RUN apt-get update && \
apt-get install -y \
libpangocairo-1.0-0 \
rdfind && \
rm -rf /var/lib/apt/lists/*
RUN apk add \
pango \
rdfind

# Copy installed python dependencies
COPY --from=back-builder /install /usr/local
Expand All @@ -67,18 +64,13 @@ FROM base as core
ENV PYTHONUNBUFFERED=1

# Install required system libs
RUN apt-get update && \
apt-get install -y \
gettext \
libcairo2 \
libffi-dev \
libgdk-pixbuf2.0-0 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
pandoc \
fonts-noto-color-emoji \
shared-mime-info && \
rm -rf /var/lib/apt/lists/*
RUN apk add \
gettext \
cairo \
libffi-dev \
gdk-pixbuf \
pango \
shared-mime-info

# Copy entrypoint
COPY ./docker/files/usr/local/bin/entrypoint /usr/local/bin/entrypoint
Expand Down Expand Up @@ -108,9 +100,7 @@ FROM core as backend-development
USER root:root

# Install psql
RUN apt-get update && \
apt-get install -y postgresql-client && \
rm -rf /var/lib/apt/lists/*
RUN apk add postgresql-client

# Uninstall impress and re-install it in editable mode along with development
# dependencies
Expand Down

0 comments on commit c5376c4

Please sign in to comment.