simple-http-server 0.8.0

Simple HTTP server
# This file is copied from: https://github.com/k4yt3x/simple-http-server/blob/master/Dockerfile
# LICENS: BSD 2-Clause "Simplified" License
#    please see https://github.com/k4yt3x/simple-http-server/blob/master/LICENSE for more details

FROM rust:1.89-alpine3.20 as builder
# branch name or tag
ARG BRANCH
RUN apk add --no-cache --virtual .build-deps git make musl-dev openssl-dev perl pkgconfig \
    && git clone -b $BRANCH https://github.com/TheWaWaR/simple-http-server.git /simple-http-server \
    && RUSTFLAGS='-C link-arg=-s' cargo build \
    --features tls \
    --release \
    --target x86_64-unknown-linux-musl \
    --manifest-path=/simple-http-server/Cargo.toml

FROM gcr.io/distroless/static:nonroot
LABEL maintainer="thewawar <thewawar@gmail.com>" \
    org.opencontainers.image.source="https://github.com/TheWaWaR/simple-http-server" \
    org.opencontainers.image.description="A minimal distroless container image for TheWaWaR/simple-http-server"
COPY --from=builder \
    /simple-http-server/target/x86_64-unknown-linux-musl/release/simple-http-server \
    /usr/local/bin/simple-http-server
USER nonroot:nonroot
WORKDIR /var/www/html
ENTRYPOINT ["/usr/local/bin/simple-http-server"]