Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
This commit is contained in:
33
docker/Dockerfile.rust
Normal file
33
docker/Dockerfile.rust
Normal file
@@ -0,0 +1,33 @@
|
||||
FROM rust:1.93-bookworm AS builder
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends clang libclang-dev pkg-config protobuf-compiler ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
|
||||
ARG GATEWAY_BUILD_VERSION=dev
|
||||
ARG GATEWAY_BUILD_SHA=unknown
|
||||
ENV GATEWAY_BUILD_VERSION=$GATEWAY_BUILD_VERSION
|
||||
ENV GATEWAY_BUILD_SHA=$GATEWAY_BUILD_SHA
|
||||
|
||||
ARG PACKAGE
|
||||
ARG BIN
|
||||
|
||||
RUN cargo build -p ${PACKAGE} --bin ${BIN} --release
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -m -u 10001 app
|
||||
|
||||
ARG BIN
|
||||
COPY --from=builder /app/target/release/${BIN} /usr/local/bin/app
|
||||
|
||||
USER app
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/app"]
|
||||
Reference in New Issue
Block a user