Files
website/themes/fractal-forest/Dockerfile
2021-04-26 18:26:42 +01:00

45 lines
1.3 KiB
Docker

# DOCKER-VERSION 17.12.0-ce, build c97c6d6
# Pull alpine base image
FROM alpine:latest AS codecbuilder
# Configure build settings
ENV LIBBPG_VERSION=0.9.8 \
CPU_CORES=1
# Fetch and extract bpg library
RUN cd /tmp && \
wget https://bellard.org/bpg/libbpg-${LIBBPG_VERSION}.tar.gz && \
mkdir -p /opt/libbpg && \
tar --strip-components=1 -xzf libbpg-${LIBBPG_VERSION}.tar.gz -C /opt/libbpg && \
rm -f libbpg-${LIBBPG_VERSION}.tar.gz
# Set current working directory
WORKDIR /opt/libbpg
# Set bpg build options
ENV USE_EMCC=y \
USE_JCTVC=y \
USE_X265=
# Install packages required to build codecs
RUN apk add --update --no-cache \
build-base cmake libpng-dev libjpeg-turbo-dev \
sdl-dev sdl_image-dev yasm && \
echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \
apk add --no-cache emscripten
# Compile codecs in intermediate container
RUN make -j ${CPU_CORES} && make install
# Generate js file integrity hashes
RUN apk add --update --no-cache openssl
COPY ./bin/generate-hashes.sh .
RUN chmod +x generate-hashes.sh && ./generate-hashes.sh
# Move codecs and hashes into busybox container
FROM busybox AS codecs
COPY --from=codecbuilder /usr/local/bin/bpg* /usr/local/bin/
COPY --from=codecbuilder /opt/libbpg/bpg*.js* /var/www/
WORKDIR /usr/local/bin