| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- FROM rust:latest AS builder
- RUN update-ca-certificates
- # Create appuser
- ENV USER=kinbrio
- ENV UID=10001
- RUN adduser \
- --disabled-password \
- --gecos "" \
- --home "/nonexistent" \
- --shell "/sbin/nologin" \
- --no-create-home \
- --uid "${UID}" \
- "${USER}"
- WORKDIR /kinbrio
- COPY ./ .
- # We no longer need to use the x86_64-unknown-linux-musl target
- RUN cargo build --release
- ####################################################################################################
- ## Final image
- ####################################################################################################
- FROM debian:buster-slim
- # Import from builder.
- COPY --from=builder /etc/passwd /etc/passwd
- COPY --from=builder /etc/group /etc/group
- WORKDIR /kinbrio
- # Copy our build
- COPY --from=builder /kinbrio/target/release/kinbrio ./
- # Use an unprivileged user.
- USER kinbrio:kinbrio
- CMD ["/kinbrio/kinbrio"]
- RUN apt-get -y install build-essential
- RUN curl https://sh.rustup.rs -sSf | sh
- RUN apt-get -y install postgresql-14
- RUN cargo run
- EXPOSE 8080
|