diff --git a/backend/Dockerfile b/backend/Dockerfile index 713d5b8..a77e5d3 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -2,10 +2,14 @@ FROM rust:1.94-bookworm AS builder WORKDIR /usr/src/app -COPY Cargo.toml Cargo.lock* ./ -COPY src/ src/ -RUN cargo build --release +# Cache dependency build: only re-runs when Cargo.toml/lock change +COPY Cargo.toml Cargo.lock* ./ +RUN mkdir src && echo 'fn main() {}' > src/main.rs && cargo build --release && rm -rf src + +# Now copy real source and build (dependencies already compiled) +COPY src/ src/ +RUN touch src/main.rs && cargo build --release # Stage 2: Runtime FROM debian:bookworm-slim @@ -18,4 +22,4 @@ COPY --from=builder /usr/src/app/target/release/maps-backend /usr/local/bin/maps EXPOSE 8080 -CMD ["maps-backend"] +CMD ["maps-backend"] \ No newline at end of file