Skip to content
Snippets Groups Projects
Select Git revision
  • a6ca088361479b0fb0b83ae310957ee087530a5c
  • main default
  • y3
  • y1
4 results

__main__.py

Blame
  • 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"]