From 5694a78de4434f2cbcfbd0dfb9615e6bd0d1e60f Mon Sep 17 00:00:00 2001
From: "Antoine R. Dumont (@ardumont)" <ardumont@softwareheritage.org>
Date: Fri, 16 Aug 2024 11:12:49 +0200
Subject: [PATCH] graph: Default docker image to an official rust image

Refs. swh/infra/sysadm-environment#5382
---
 apps/swh-graph/Dockerfile | 25 +++++++------------------
 1 file changed, 7 insertions(+), 18 deletions(-)

diff --git a/apps/swh-graph/Dockerfile b/apps/swh-graph/Dockerfile
index c9c7a9a9..5d974bdf 100644
--- a/apps/swh-graph/Dockerfile
+++ b/apps/swh-graph/Dockerfile
@@ -1,13 +1,14 @@
 # Deeply inspired from the Dockerfile of the swh-graphql project
-FROM python:3.11-bookworm
+FROM rust:1.80-bookworm
 ARG UID=1000
 ARG GID=1000
 
 RUN apt-get -y update && \
     apt-get -y upgrade && \
-    apt-get install -y libcmph-dev librdkafka-dev \
+    apt-get install -y python3 python3-pip \
+      libcmph-dev librdkafka-dev \
       build-essential libclang-dev \
-      zstd protobuf-compiler && \
+      zstd protobuf-compiler default-jre && \
     apt clean && \
     addgroup --gid $UID swh && \
     useradd --gid $GID --uid $UID -m -d /opt/swh swh && \
@@ -21,25 +22,13 @@ COPY --chown=swh:swh requirements-frozen.txt /opt/swh
 ENV PYTHONPATH=/opt/swh
 ENV PATH=/opt/swh/.local/bin:$PATH
 
-RUN /usr/local/bin/python -m pip install --upgrade pip && \
-    pip install --no-cache-dir -r requirements-frozen.txt
-
-# Install rustup and the default rust toolchain
-
-ENV CARGO_HOME="/opt/swh/.cargo"
-ENV RUSTUP_HOME="/opt/swh/.rustup"
-
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh && \
-  chmod +x /tmp/rustup-init.sh && \
-  /tmp/rustup-init.sh -y && \
-  rm /tmp/rustup-init.sh
-
-ENV PATH="${CARGO_HOME}/bin:${PATH}"
+RUN /usr/bin/python3 -m pip install --upgrade pip --break-system-packages && \
+    pip install --no-cache-dir -r requirements-frozen.txt --break-system-packages
 
 # Install
 
 RUN RUSTFLAGS="-C target-cpu=native" \
-  cargo install --git https://gitlab.softwareheritage.org/swh/devel/swh-graph.git \
+  cargo install \
     --features grpc-server \
     swh-graph
 
-- 
GitLab