-
Notifications
You must be signed in to change notification settings - Fork 416
Expand file tree
/
Copy pathDockerfile
More file actions
69 lines (55 loc) · 3.03 KB
/
Dockerfile
File metadata and controls
69 lines (55 loc) · 3.03 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
FROM mapfish_print_builder AS builder
FROM tomcat:9.0.108-jdk11-temurin-jammy AS runner
LABEL maintainer="Camptocamp <info@camptocamp.com>"
RUN perl -0777 -i -pe 's/(<Valve className="org.apache.catalina.valves.AccessLogValve"[^>]*>)/<Valve className="ch.qos.logback.access.tomcat.LogbackValve" quiet="true"\/>/s' ${CATALINA_HOME}/conf/server.xml && \
echo "tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*" >> ${CATALINA_HOME}/conf/catalina.properties && \
echo "org.apache.catalina.startup.TldConfig.jarsToSkip=*" >> ${CATALINA_HOME}/conf/catalina.properties && \
echo "tomcat.util.scan.DefaultJarScanner.jarsToSkip=*" >> ${CATALINA_HOME}/conf/catalina.properties && \
perl -0777 -i -pe 's/<\/Context>/<Resources cachingAllowed="true" cacheMaxSize="102400"\/><\/Context>/' ${CATALINA_HOME}/conf/context.xml
RUN mkdir --parent /usr/local/tomcat/conf/Catalina /usr/local/tomcat/work/Catalina && \
chmod -R g+rwx /usr/local/tomcat/conf/Catalina /usr/local/tomcat/work && \
chgrp -R root /usr/local/tomcat/conf/Catalina /usr/local/tomcat/work && \
chmod g+r /usr/local/tomcat/conf/*
RUN \
apt-get update && \
apt-get upgrade --assume-yes && \
apt-get install --assume-yes --no-install-recommends curl \
fonts-liberation fonts-dejavu fontconfig && \
apt-get clean && \
rm --recursive --force /var/lib/apt/lists/*
COPY --from=builder /src/core/build/webapp ${CATALINA_HOME}/webapps/ROOT/
COPY --from=builder /src/examples/build/classes/java/test/org/mapfish/print/HumanAlphaSerie.class ${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes/org/mapfish/print/
COPY docker /
RUN mkdir -p ${CATALINA_HOME}/extlib/classes/org/mapfish/print && \
cp -r ${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes/org/mapfish/print/url ${CATALINA_HOME}/extlib/classes/org/mapfish/print/ && \
perl -0777 -i -pe 's/<Valve className="ch.qos.logback.access.tomcat.LogbackValve" quiet="true"\/>//s' ${CATALINA_HOME}/conf/server.xml && \
chmod g+r -R /usr/local/tomcat/conf/ && \
chmod g+rw /usr/local/tomcat/temp/ /usr/local/tomcat/webapps/ROOT/WEB-INF/lib && \
chmod g+rw /usr/local/tomcat/webapps/ROOT/WEB-INF/classes /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/*.xml && \
adduser www-data root
ENV LOG_LEVEL=INFO \
SPRING_LOG_LEVEL=WARN \
JASPER_LOG_LEVEL=WARN \
APACHE_LOG_LEVEL=WARN \
SQL_LOG_LEVEL=WARN \
CATALINA_OPTS= \
DEFAULT_LOG_LEVEL=INFO \
TOMCAT_LOG_LEVEL=INFO \
SENTRY_LOG_LEVEL=ERROR \
SENTRY_REPORTING_LOG_LEVEL=WARN \
TOMCAT_LOG_TYPE=classic \
EXTRA_JARS= \
PRINT_YAML_MAX_ALIASES=50 \
JAVA_OPTS=-Dsun.net.inetaddr.ttl=30 \
SENTRY_DSN=
CMD ["/usr/local/tomcat/bin/docker-start-print"]
FROM runner AS tester
COPY jettyRunExtraFiles/mapfish-spring-application-context-override-acceptencetests.xml \
webapps/ROOT/WEB-INF/classes/mapfish-spring-application-context-override.xml
FROM runner AS watcher
RUN apt update && \
apt install --yes python3-pip rsync && \
apt-get clean && \
rm --recursive --force /var/lib/apt/lists/*
RUN python3 -m pip --disable-pip-version-check --no-cache-dir install inotify
FROM runner AS final