From 82607f45cd7dc0563ed97f61e12fb3d848991f1a Mon Sep 17 00:00:00 2001 From: Pedro Rico Pinazo Date: Wed, 6 Nov 2024 13:17:35 +0000 Subject: [PATCH] Fix existing rust Dockerfile (#1844) * fix existing rust Dockerfile * fmt --------- Co-authored-by: Shivam Kapoor <4599890+iamsmkr@users.noreply.github.com> Co-authored-by: Shivam <4599890+shivam-880@users.noreply.github.com> --- Cargo.toml | 2 +- Dockerfile | 61 +++--- raphtory-graphql/resources/index.html | 278 +++++++++++++------------- raphtory-graphql/src/main.rs | 11 +- raphtory-graphql/src/server.rs | 4 +- 5 files changed, 174 insertions(+), 182 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index debfe46c92..6aac0d6594 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ members = [ "raphtory-graphql", "raphtory-api", ] -default-members = ["raphtory"] +default-members = ["raphtory", "raphtory-graphql"] resolver = "2" [workspace.package] diff --git a/Dockerfile b/Dockerfile index f895a4b140..3f3073b288 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,25 @@ -FROM rust:1.77 AS builder - -WORKDIR /app - -COPY Cargo.toml Cargo.lock ./ -RUN sed -i '/default-members/d' Cargo.toml -RUN sed -i '/members = \[/,/\]/c\members = ["raphtory", "raphtory-graphql"]' Cargo.toml - -WORKDIR /app/raphtory -COPY raphtory/Cargo.toml ./ -RUN mkdir src && echo "fn main() {}" > src/main.rs - -WORKDIR /app/raphtory-graphql -COPY raphtory-graphql/Cargo.toml ./ -RUN mkdir src && echo "fn main() {}" > src/main.rs - +FROM rust:1.80.0 AS chef +RUN cargo install cargo-chef --version 0.1.67 WORKDIR /app -RUN cargo build --release --workspace - -COPY raphtory ./raphtory -COPY raphtory-graphql ./raphtory-graphql - -WORKDIR /app/raphtory-graphql -RUN cargo build --release - -FROM rust:1.77-slim AS runner - -WORKDIR /app - -RUN groupadd -g 999 appuser && \ - useradd -r -u 999 -g appuser appuser -USER appuser - -COPY --from=builder /app/target/release/raphtory-graphql /app - -EXPOSE 1736 - -ENV GRAPH_DIRECTORY=graphs -CMD ["./raphtory-graphql"] +FROM chef AS planner +COPY . . +RUN cargo chef prepare --recipe-path recipe.json + +FROM chef AS builder +RUN apt-get update +RUN apt-get install -y protobuf-compiler +COPY --from=planner /app/recipe.json recipe.json +RUN cargo chef cook --release --recipe-path recipe.json +# RUN cargo chef cook --recipe-path recipe.json +COPY . . +RUN cargo build --release -p raphtory-graphql +# RUN cargo build -p raphtory-graphql + +# FROM alpine:3.20.3 +FROM debian:bookworm-slim +ENV PORT=1736 +COPY --from=builder /app/target/release/raphtory-graphql /raphtory-graphql +# COPY --from=builder /app/target/debug/raphtory-graphql /usr/local/bin/raphtory-graphql +WORKDIR /graphs +CMD ["/raphtory-graphql"] diff --git a/raphtory-graphql/resources/index.html b/raphtory-graphql/resources/index.html index d05ddd7cee..ba1fcdaabe 100644 --- a/raphtory-graphql/resources/index.html +++ b/raphtory-graphql/resources/index.html @@ -2,10 +2,10 @@ - + Pometry UI -