-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
53 lines (41 loc) · 2 KB
/
Dockerfile
File metadata and controls
53 lines (41 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
FROM openjdk:8-jre-alpine
ARG PLANTUML_VERSION=1.2025.2
ARG PLANTUML_DIR=/opt/plantuml
ARG PLANTUML_BIN=/usr/local/bin/plantuml
ARG PLANTUML_URL=https://github.com/plantuml/plantuml/releases/download/v${PLANTUML_VERSION}/plantuml-${PLANTUML_VERSION}.jar
ARG PLANTUML_SCRIPT='#!/bin/sh \njava -jar -Dfile.encoding=$PLANTUML_ENCODING /opt/plantuml/plantuml.jar ${@}\n'
ENV PLANTUML_ENCODING=en_US.UTF-8
RUN apk add -X https://nl.alpinelinux.org/alpine/edge/main -u alpine-keys --allow-untrusted
RUN apk update && apk upgrade # Fix segfault
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" > /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/v3.12/main" >> /etc/apk/repositories \
&& apk update && apk upgrade
RUN apk add python3 python3-dev py3-pip nodejs npm \
&& python3 -m pip install --upgrade pip setuptools wheel --break-system-packages\
&& npm install broken-link-checker -g
RUN apk add libstdc++ chromium harfbuzz nss freetype ttf-freefont font-noto-emoji wqy-zenhei
COPY local.conf /etc/fonts/local.conf
RUN apk add \
curl git \
# weasyprint stuff
gcc musl-dev jpeg-dev zlib-dev libffi-dev cairo-dev pango-dev gdk-pixbuf-dev g++
RUN apk add graphviz ttf-droid ttf-droid-nonlatin \
&& mkdir $PLANTUML_DIR \
&& curl -L $PLANTUML_URL -o $PLANTUML_DIR/plantuml.jar \
&& printf "$PLANTUML_SCRIPT" >> $PLANTUML_BIN \
&& chmod +x $PLANTUML_BIN
# Install chromium and puppeteer
ENV CHROME_BIN="/usr/bin/chromium-browser" \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true" \
CHROME_PATH=/usr/lib/chromium/
RUN set -x \
&& apk add udev ttf-freefont chromium \
&& npm install puppeteer --save
WORKDIR /docs
COPY requirements.txt .
RUN pip install -r requirements.txt --break-system-packages
RUN rm /var/cache/apk/* && rm -rf /docs
WORKDIR /docs/source
CMD [ "mkdocs" ]