hesinde-sync/Containerfile
Sebastian Hugentobler 402b8e3a57
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 36m34s
shut down on ctrl+c
2024-07-10 20:56:48 +02:00

30 lines
622 B
Docker

FROM docker.io/rust:1-alpine3.20 AS builder
RUN mkdir /db
RUN echo "hesinde:x:2222:2222:Linux User,,,:/:/app" > /passwd
RUN apk --no-cache add \
musl-dev
ENV CARGO_CARGO_NEW_VCS="none"
ENV CARGO_BUILD_RUSTFLAGS="-C target-feature=+crt-static"
WORKDIR /work
COPY . .
RUN cargo build --release --target=$(arch)-unknown-linux-musl
RUN cp "./target/$(arch)-unknown-linux-musl/release/hesinde-sync" /app
FROM scratch
COPY --from=builder /passwd /etc/passwd
COPY --from=builder /app /app
COPY --from=builder --chown=2222: /db /db
USER hesinde
ENTRYPOINT ["/app", "--address", "[::]:3000"]
EXPOSE 3000
VOLUME ["/db"]