diff --git a/apps/swh-graph/Dockerfile b/apps/swh-graph/Dockerfile index 5d974bdf9a5f9268f2922300c3d49e10ec65b5ce..9477b2549c2fd17733eec2e9d56c975bcd326853 100644 --- a/apps/swh-graph/Dockerfile +++ b/apps/swh-graph/Dockerfile @@ -1,14 +1,27 @@ -# Deeply inspired from the Dockerfile of the swh-graphql project -FROM rust:1.80-bookworm +FROM rust:1.80-bookworm AS rust_build +# ... build swh-graph rust deps +RUN apt-get -y update && \ + apt-get -y upgrade && \ + apt-get install -y build-essential libclang-dev \ + zstd protobuf-compiler default-jre && \ + apt clean + +# Install swh-graph feature swh-graph-grpc-serve +# TODO: Ensure the target-cpu is ok +RUN RUSTFLAGS="-C target-cpu=native" \ + cargo install \ + --features grpc-server \ + swh-graph + +FROM python:3.10-bookworm + ARG UID=1000 ARG GID=1000 RUN apt-get -y update && \ apt-get -y upgrade && \ - apt-get install -y python3 python3-pip \ - libcmph-dev librdkafka-dev \ - build-essential libclang-dev \ - zstd protobuf-compiler default-jre && \ + apt-get install -y python3-pip \ + libcmph-dev librdkafka-dev && \ apt clean && \ addgroup --gid $UID swh && \ useradd --gid $GID --uid $UID -m -d /opt/swh swh && \ @@ -25,13 +38,7 @@ ENV PATH=/opt/swh/.local/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 \ - --features grpc-server \ - swh-graph - +COPY --from=rust_build /usr/local/cargo/bin/swh-graph-* /usr/local/bin/ ENV SWH_CONFIG_FILENAME=/etc/swh/config.yml ENV PORT 5009 EXPOSE $PORT