From 6cd8a2edc1f9a634ba44970e34185a4f2e1dc031 Mon Sep 17 00:00:00 2001 From: Dmitry <b4tm4n@mail.ru> Date: Wed, 2 Apr 2025 16:34:47 +0300 Subject: [PATCH] Dockerfile: separate backend/frontend build --- Dockerfile | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index b4a6bbc..fb35a77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,12 +12,20 @@ FROM chef AS planner-peasyweb COPY . . RUN cargo chef prepare --recipe-path recipe.json -FROM chef AS builder-peasyweb +FROM chef AS builder-peasyweb-backend COPY --from=planner-peasyweb /app/recipe.json recipe.json -RUN cargo chef cook --release --recipe-path recipe.json -COPY . . -ENV API_BASE_URL="/api/v1" +RUN cargo chef cook --release -p peazyweb-backend --recipe-path recipe.json +COPY Cargo.toml Cargo.lock ./ +COPY backend/ ./backend/ RUN cargo build -p peazyweb-backend --release + +FROM chef AS builder-peasyweb-frontend +ENV API_BASE_URL="/api/v1" +COPY Cargo.toml Cargo.lock ./ +COPY frontend/ ./frontend/ +RUN mkdir ./backend && echo "[package]" > ./backend/Cargo.toml && \ + echo name = "\"peazyweb-backend\"" >> ./backend/Cargo.toml && \ + mkdir ./backend/src && echo "pub fn main() {}" > ./backend/src/main.rs WORKDIR /app/frontend RUN trunk build --release --public-url "/frontend" @@ -29,8 +37,8 @@ RUN mkdir -p /app/frontend RUN mkdir /data WORKDIR /app COPY --from=builder-peazyrsa /usr/local/cargo/bin/peazyrsa /usr/local/bin/peazyrsa -COPY --from=builder-peasyweb /app/target/release/peazyweb-backend /usr/local/bin/peazyweb-backend -COPY --from=builder-peasyweb /app/frontend/dist/ /app/frontend +COPY --from=builder-peasyweb-backend /app/target/release/peazyweb-backend /usr/local/bin/peazyweb-backend +COPY --from=builder-peasyweb-frontend /app/frontend/dist/ /app/frontend VOLUME [ "/data" ]