gitdataai/docker/app.Dockerfile
ZhenYi f7107766cd
Some checks reported errors
continuous-integration/drone/push Build encountered an error
perf(docker): use all CPU cores for parallel compilation
2026-04-15 00:29:53 +08:00

39 lines
994 B
Docker

# ---- Stage 1: Build ----
FROM rust:1.94-bookworm AS builder
ARG BUILD_TARGET=x86_64-unknown-linux-gnu
ENV TARGET=${BUILD_TARGET}
# Build dependencies: OpenSSL, libgit2, zlib, clang for sea-orm codegen
RUN apt-get update && apt-get install -y --no-install-recommends \
pkg-config libssl-dev libclang-dev \
gcc g++ make \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /build
# Copy workspace manifests
COPY Cargo.toml Cargo.lock ./
COPY libs/ libs/
COPY apps/ apps/
# Pre-build dependencies only
RUN cargo fetch
# Build the binary
RUN cargo build --release --package app --target ${TARGET} -j $(nproc)
# ---- Stage 2: Runtime ----
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates libssl3 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /build/target/${TARGET}/release/app /app/app
# All config via environment variables (APP_* prefix)
ENV APP_LOG_LEVEL=info
ENTRYPOINT ["/app/app"]