mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-24 08:38:53 -05:00
735b17dcc7
By performing the build in one image (with all the needed tools) and then copying over the result files into an image based on stock nginx, the image size is reduced from 1.4 GB to 111 MB.
24 lines
870 B
Docker
24 lines
870 B
Docker
# Builds all XEPs by default, HTML & PDF
|
|
# docker build . --build-arg NCORES=X --build-arg TARGETS="html pdf"
|
|
# from Dockerfile.base
|
|
FROM xmppxsf/xeps-base:latest as build
|
|
|
|
ARG NCORES=1
|
|
ARG TARGETS="html inbox-html inbox-xml pdf xeplist refs xml"
|
|
|
|
COPY *.xml xep.* *.css *.xsl *.js *.xsl Makefile /src/
|
|
COPY resources/*.pdf /src/resources/
|
|
COPY tools/*.py /src/tools/
|
|
COPY inbox/*.xml inbox/*.ent inbox/*.dtd /src/inbox/
|
|
COPY texml-xsl/*.xsl /src/texml-xsl/
|
|
|
|
WORKDIR /src
|
|
RUN OUTDIR=/var/www/html/extensions/ make -j$NCORES $TARGETS
|
|
RUN bash -c 'rm -f /var/www/html/extensions/*.{log,aux,toc,tex,tex.xml,out}'
|
|
|
|
FROM nginx:1-alpine
|
|
RUN mkdir /usr/share/nginx/html/extensions/
|
|
COPY --from=build /var/www/html/extensions/ /usr/share/nginx/html/extensions/
|
|
RUN sed -ri '/root\s+\/usr\/share\/nginx\/html/s/^(.+)$/\1\nautoindex on;/' /etc/nginx/conf.d/default.conf
|
|
EXPOSE 80
|