Removed config file; switched to alpine build & O3

master
Jef Roosens 2021-07-21 15:32:35 +02:00
parent 5e0f5d0c52
commit 35f6c4acbf
Signed by: Jef Roosens
GPG Key ID: B580B976584B5F30
2 changed files with 21 additions and 18 deletions

View File

@ -2,7 +2,7 @@
ARG THTTPD_VER=2.29
ARG DI_VER=1.2.5
FROM ubuntu:latest AS builder
FROM alpine:3 AS builder
# =====BUILD BINARIES=====
@ -10,26 +10,32 @@ WORKDIR /usr/src
ARG THTTPD_VER
ARG DI_VER
# Install dependencies & build thttpd
RUN apt update && \
apt install -y --no-install-recommends \
curl \
ca-certificates \
hugo \
musl-dev \
musl-tools \
build-essential && \
curl -sSL "https://www.acme.com/software/thttpd/thttpd-$THTTPD_VER.tar.gz" | \
# Install build dependencies
# bash: required for dumb-init's Makefile
# gcc, musl-dev: compilation
# curl: downloading the tarballs
# hugo: generating the static files
RUN apk add --update --no-cache \
bash \
make \
gcc \
curl \
hugo \
musl-dev
# Build thttpd
RUN curl -sSL "https://www.acme.com/software/thttpd/thttpd-$THTTPD_VER.tar.gz" | \
tar xzf - && \
cd "thttpd-$THTTPD_VER" && \
CC="musl-gcc -static" ./configure && \
make -j$(nproc)
./configure && \
make CCOPT="-O3 -s -static" -j$(nproc)
# Build dumb-init
# dumb-init's Makefile already specifies static build flags, so we don't have to specify them
RUN curl -sSL "https://github.com/Yelp/dumb-init/archive/refs/tags/v$DI_VER.tar.gz" | \
tar xzf - && \
cd "dumb-init-$DI_VER" && \
CC="musl-gcc -static" make build
make build
# =====BUILD BLOG=====
@ -52,10 +58,9 @@ ARG DI_VER
COPY --from=builder /usr/src/thttpd-$THTTPD_VER/thttpd /bin/thttpd
COPY --from=builder /usr/src/dumb-init-$DI_VER/dumb-init /bin/dumb-init
COPY --from=builder /usr/src/app/public /static
COPY thttpd.conf /etc/thttpd.conf
# A static file server doesn't need root
USER 82:82
ENTRYPOINT [ "/bin/dumb-init", "--" ]
CMD [ "/bin/thttpd", "-D", "-C", "/etc/thttpd.conf" ]
CMD [ "/bin/thttpd", "-D", "-d", "/static", "-p", "8080" ]

View File

@ -1,2 +0,0 @@
port=8080
dir=/static