added multi stage builds for oci containers
Some checks failed
Build and Release Docker Images / build-and-push (./backend, public/Dockerfile, my-website-v2_public) (pull_request) Failing after 23m10s
Build and Release Docker Images / build-and-push (./backend, task/Dockerfile, my-website-v2_task) (pull_request) Failing after 24m49s
Build and Release Docker Images / build-and-push (./frontend, Dockerfile, my-website-v2_frontend) (pull_request) Failing after 20m2s
Build and Release Docker Images / create-release (pull_request) Has been skipped

it should help from builds from failing in addition to slimming down the
artifact size
This commit is contained in:
2025-12-21 15:36:00 -05:00
parent 82cf30447b
commit 5396d44189
2 changed files with 31 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
FROM rust:1.88.0
# Build stage
FROM rust:1.88.0 AS builder
WORKDIR /app
@@ -6,9 +7,23 @@ COPY ./task ./task
COPY ./cache ./cache
COPY ./storage ./storage
RUN mkdir /app/posts
RUN cargo build --release --manifest-path ./task/Cargo.toml
# Runtime stage
FROM debian:bookworm-slim
WORKDIR /app
RUN apt-get update && apt-get install -y \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /app/posts
COPY --from=builder /app/task/target/release/task /app/task
COPY --from=builder /app/cache ./cache
COPY --from=builder /app/storage ./storage
EXPOSE 3000
CMD ["/app/task/target/release/task"]
CMD ["/app/task"]