Select Git revision
__main__.py
Dockerfile 1.07 KiB
FROM clux/muslrust:stable as build-env
RUN rustc --version
WORKDIR /app
COPY ./ .
RUN cargo build --release
RUN cp target/x86_64-unknown-linux-musl/release/ujmtbackend .
FROM alpine:latest AS finalize
RUN apk update && \
apk add upx
WORKDIR /app
COPY --from=build-env /app/ujmtbackend /app
RUN upx ujmtbackend
FROM alpine:latest as base
RUN apk add upx && apk add make && apk add git && apk add curl && apk add bash
RUN curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/bin
RUN apk update && \
apk add ca-certificates && \
update-ca-certificates && \
rm -rf /var/cache/apk/* && \
addgroup app && \
adduser -G app -D app
# build an image
FROM scratch
COPY --from=base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=base /etc/passwd /etc/passwd
COPY --from=base /etc/group /etc/group
COPY --from=base /lib/libssl.so.3 /lib/libssl.so.3
COPY --from=base /usr/lib/libssl.so.3 /usr/lib/libssl.so.3
WORKDIR /app
COPY --from=finalize /app/ujmtbackend /app
USER app:app
EXPOSE 8080
CMD ["/app/ujmtbackend","serve"]