FROM rustlang/rust:nightly-slim AS builder WORKDIR /app # Install build dependencies RUN apt update && apt install -y \ musl-tools \ musl-dev \ build-essential \ libssl-dev \ curl \ pkg-config \ ca-certificates # Copy dependency files first for better caching COPY Cargo.toml Cargo.lock ./ COPY ./src ./src COPY config.toml . # Build the application RUN cargo build --release # Builder FROM gcr.io/distroless/cc # Copy the binary COPY --from=builder /app/target/release/silserv / COPY --from=builder /app/config.toml / # Create data directory EXPOSE 36530 # Environment defaults ENV SILSERV_LOG_LEVEL=debug ENV SILSERV_STORAGE__PATH=/app/data/silserv.db CMD ["./silserv"]