mirror of
https://github.com/octoleo/plantuml-server.git
synced 2024-12-22 08:48:54 +00:00
77 lines
2.2 KiB
Docker
77 lines
2.2 KiB
Docker
FROM maven:3-eclipse-temurin-17-alpine AS builder
|
|
|
|
COPY pom.xml pom.parent.xml /app/
|
|
COPY src/main /app/src/main/
|
|
|
|
WORKDIR /app
|
|
RUN mvn --batch-mode --define java.net.useSystemProxies=true package
|
|
|
|
########################################################################################
|
|
|
|
FROM jetty:11.0.18-jre17-alpine-eclipse-temurin
|
|
|
|
# Proxy and OldProxy need empty path segments support in URIs
|
|
# Hence: allow AMBIGUOUS_EMPTY_SEGMENT
|
|
# Changes are only active if `/generate-jetty-start.sh` is called!
|
|
RUN sed -i 's/# jetty\.httpConfig\.uriCompliance=DEFAULT/jetty.httpConfig.uriCompliance=DEFAULT,AMBIGUOUS_EMPTY_SEGMENT/g' /var/lib/jetty/start.d/server.ini
|
|
|
|
USER root
|
|
|
|
RUN apk add --no-cache \
|
|
curl \
|
|
font-noto-cjk \
|
|
libgd \
|
|
&& \
|
|
/generate-jetty-start.sh
|
|
|
|
#RUN apk add --no-cache graphviz
|
|
ARG GRAPHVIZ_VERSION
|
|
ARG GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build
|
|
RUN apk add --no-cache \
|
|
g++ \
|
|
jq \
|
|
expat-dev \
|
|
make \
|
|
zlib \
|
|
pkgconf \
|
|
&& \
|
|
mkdir -p $GRAPHVIZ_BUILD_DIR && \
|
|
cd $GRAPHVIZ_BUILD_DIR && \
|
|
GRAPHVIZ_VERSION=${GRAPHVIZ_VERSION:-$(curl -s https://gitlab.com/api/v4/projects/4207231/releases/ | jq -r '.[] | .name' | sort -V -r | head -1)} && \
|
|
curl -o graphviz.tar.gz https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${GRAPHVIZ_VERSION}/graphviz-${GRAPHVIZ_VERSION}.tar.gz && \
|
|
tar -xzf graphviz.tar.gz && \
|
|
cd graphviz-$GRAPHVIZ_VERSION && \
|
|
./configure && \
|
|
make && \
|
|
make install && \
|
|
apk del --no-cache \
|
|
g++ \
|
|
jq \
|
|
expat-dev \
|
|
make \
|
|
zlib \
|
|
&& \
|
|
rm -rf $GRAPHVIZ_BUILD_DIR
|
|
|
|
COPY docker-entrypoint.jetty.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
USER jetty
|
|
|
|
ENV WEBAPP_PATH=$JETTY_BASE/webapps
|
|
RUN rm -rf $WEBAPP_PATH && \
|
|
mkdir -p $WEBAPP_PATH
|
|
COPY --from=builder /app/target/plantuml.war /plantuml.war
|
|
COPY ROOT.jetty.xml $WEBAPP_PATH/ROOT.xml
|
|
|
|
# Openshift https://docs.openshift.com/container-platform/4.9/openshift_images/create-images.html#images-create-guide-openshift_create-images
|
|
USER root
|
|
RUN chgrp -R 0 $JETTY_BASE && \
|
|
chmod -R g=u $JETTY_BASE
|
|
RUN chgrp -R 0 /tmp && \
|
|
chmod -R g=u /tmp
|
|
USER jetty
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
VOLUME ["/tmp/jetty"]
|