Dockerfile 716 B

123456789101112131415161718192021222324252627282930313233
  1. FROM rust:1.83 AS builder
  2. # Caching dependencies
  3. WORKDIR /bimng
  4. RUN cargo new --bin bim-ng
  5. WORKDIR /bimng/bim-ng
  6. COPY ./Cargo.lock ./Cargo.lock
  7. COPY ./Cargo.toml ./Cargo.toml
  8. COPY ./src/ldap ./src/ldap
  9. RUN cargo build --release
  10. RUN rm src/*.rs
  11. # Real build
  12. COPY . .
  13. RUN rm ./target/release/deps/bim_ng*
  14. RUN cargo build --release
  15. # Final image
  16. FROM debian:bookworm-slim
  17. RUN apt-get update && apt-get install -y libssl3 && \
  18. apt-get install -y ca-certificates
  19. WORKDIR /
  20. COPY --from=builder /bimng/bim-ng/target/release/bim-ng /bim-ng
  21. COPY ./templates /templates
  22. RUN mkdir /etc/bim-ng
  23. COPY ./src/settings.toml.example /etc/bim-ng/settings.toml
  24. ENV BIMNG_SETTINGS_PATH="/etc/bim-ng/settings.toml"
  25. CMD ["/bim-ng"]