thuning @ pvt 8310f1ef49 Tweaks to jenkins docker
Adding more memory and making sure tomcat actually uses it
2025-04-14 11:39:03 +02:00

59 lines
1.6 KiB
Docker

#FROM tomcat:10-jdk17-openjdk-bullseye
FROM tomcat:11.0-jdk21-temurin-jammy
# Packages
RUN apt-get update
## quality of life
RUN apt-get install -y libreadline8 less procps
## deps
RUN apt-get install -y libtcnative-1
## needed for setup, uninstalled later
RUN apt-get install -y xmlstarlet
# Scripts
ENV BASE /usr/local/tomcat
# Tomcat config file
ADD setenv.sh "$BASE"/bin/setenv.sh
RUN chmod +x "$BASE"/bin/setenv.sh
## Activate manager
RUN cd /usr/local/tomcat; cp -a webapps.dist/manager webapps/
## Replace users file
ADD tomcat-users.xml "$BASE"/conf/
## Add manager roles
RUN for tag in manager-script manager-gui; do \
xmlstarlet ed -L \
-s "/tomcat-users" -t elem -n "new-role" -v "" \
-i "//new-role" -t attr -n "rolename" -v "$tag" \
-r "//new-role" -v "role" \
"$BASE"/conf/tomcat-users.xml; \
done
## Activate AJP
RUN xmlstarlet ed -L \
-s "/Server/Service" -t elem -n "new-Connector" -v "" \
-i "//new-Connector" -t attr -n "protocol" -v "AJP/1.3" \
-i "//new-Connector" -t attr -n "address" -v "0.0.0.0" \
-i "//new-Connector" -t attr -n "port" -v "8009" \
-i "//new-Connector" -t attr -n "tomcatAuthentication" -v "false" \
-i "//new-Connector" -t attr -n "secretRequired" -v "false" \
-i "//new-Connector" -t attr -n "useIPVHosts" -v "true" \
-r "//new-Connector" -v "Connector" \
"$BASE"/conf/server.xml
## Allow manager access from outside
RUN xmlstarlet ed -L \
-d "/Context/Valve" \
"$BASE"/webapps/manager/META-INF/context.xml
# Cleanup
RUN apt-get autoremove -y --purge xmlstarlet
RUN apt-get clean