Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions services/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
FROM rust:1.89-alpine AS base
RUN apk add --no-cache build-base musl-dev
FROM rust:1.89-slim AS base
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace/services/backend

FROM base AS dev
RUN cargo install cargo-watch --locked
COPY services/backend/Cargo.toml ./Cargo.toml
COPY services/backend/Cargo.lock ./Cargo.lock
COPY services/backend/src ./src
ENV BACKEND_PORT=8080
EXPOSE 8080
Expand All @@ -13,21 +16,22 @@ CMD ["cargo", "watch", "--why", "--watch", "Cargo.toml", "--watch", "src", "-x",
FROM base AS builder

COPY services/backend/Cargo.toml ./Cargo.toml
COPY services/backend/Cargo.lock ./Cargo.lock
COPY services/backend/src ./src

RUN cargo build --release

FROM alpine:3.22
FROM busybox:1.37.0-glibc

RUN apk add --no-cache ca-certificates wget
RUN adduser -D backend
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=builder /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib/libgcc_s.so.1

COPY --from=builder /workspace/services/backend/target/release/central-backend /usr/local/bin/central-backend

ENV BACKEND_PORT=8080

EXPOSE 8080

USER backend
USER 65532:65532

CMD ["/usr/local/bin/central-backend"]