index : static-web-server.git

ascending towards madness

author holly sparkles <sparkles@holly.sh> 2024-02-07 12:00:04.0 +00:00:00
committer holly sparkles <sparkles@holly.sh> 2024-02-29 12:29:49.0 +00:00:00
commit
58e8e2730ad863ee3f2fc9036d2386ebf286408d [patch]
tree
6f0117f7481cc83e5a6d0d9c7d2765b2b51b003d
parent
099edb8b1c9f68e1704d9129e388b2d91d301a17
download
58e8e2730ad863ee3f2fc9036d2386ebf286408d.tar.gz

docker: add a debian dockerfile that builds from source



Diff

 docker/devel/Dockerfile.debian.builder | 45 +++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+)

diff --git a/docker/devel/Dockerfile.debian.builder b/docker/devel/Dockerfile.debian.builder
new file mode 100644
index 0000000..618e89b
--- /dev/null
+++ b/docker/devel/Dockerfile.debian.builder
@@ -0,0 +1,45 @@
FROM rust:1.71-slim AS builder

RUN rustup component add rustfmt

COPY ../../. /sws-source
WORKDIR /sws-source
RUN cargo build --release

FROM debian:12.4-slim

ENV SERVER_VERSION=devel

LABEL version="${SERVER_VERSION}" \
    description="A cross-platform, high-performance and asynchronous web server for static files-serving." \
    maintainer="Jose Quintana <joseluisq.net>"

RUN set -eux \
    && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
    && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
         ca-certificates \
         tzdata \
    # Clean up local repository of retrieved packages and remove the package lists
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && true

COPY --from=builder /sws-source/target/release/static-web-server /usr/local/bin/
COPY ./docker/debian/entrypoint.sh /
COPY ./docker/public /public

EXPOSE 80

STOPSIGNAL SIGQUIT

ENTRYPOINT ["/entrypoint.sh"]

CMD ["static-web-server"]

# Metadata
LABEL org.opencontainers.image.vendor="Jose Quintana" \
    org.opencontainers.image.url="https://github.com/static-web-server/static-web-server" \
    org.opencontainers.image.title="Static Web Server" \
    org.opencontainers.image.description="A cross-platform, high-performance and asynchronous web server for static files-serving." \
    org.opencontainers.image.version="${SERVER_VERSION}" \
    org.opencontainers.image.documentation="https://github.com/static-web-server/static-web-server"