Skip to content
Snippets Groups Projects
Commit 55c729d9 authored by Robert Butora's avatar Robert Butora
Browse files

docker: config Tomcat (on Debian11)

parent 78954209
No related branches found
No related tags found
No related merge requests found
FROM debian:bullseye-slim
WORKDIR /root
ENV HOME /root
RUN apt-get -y update \
&& apt-get -y --no-install-recommends install libcfitsio9 \
unzip openjdk-17-jre-headless tomcat9 libtcnative-1 ca-certificates
ENV CATALINA_BASE=/var/lib/tomcat9
ENV CATALINA_HOME=/usr/share/tomcat9
RUN rm -rf $CATALINA_BASE/webapps/examples/ \
$CATALINA_BASE/webapps/docs/ \
$CATALINA_BASE/webapps/host-manager
ENV WEBAPP_DIR=/webapps/vlkb-soda
COPY deps/ast_9.2.9-1_amd64.deb ./
RUN dpkg -i /root/ast_9.2.9-1_amd64.deb && ldconfig \
&& mkdir -p ${WEBAPP_DIR} \
&& mkdir -p /srv/surveys \
&& mkdir -p /srv/cutouts \
&& mkdir -p /etc/pki/tls
ARG VLKB_VERSION
COPY vlkb-${VLKB_VERSION}.deb ./
COPY vlkb-soda-${VLKB_VERSION}.war ${WEBAPP_DIR}/
RUN dpkg -i vlkb-${VLKB_VERSION}.deb \
&& cd ${WEBAPP_DIR} && unzip vlkb-soda-${VLKB_VERSION}.war \
&& apt-get autoremove && apt-get clean
# configure build instance
ENV INST_DIR=/usr/local
RUN echo "${INST_DIR}/lib" > /etc/ld.so.conf.d/ast.conf && ldconfig
# change webapps-dir and preconfigure port 8080 (no SSL)
COPY deps/server.xml deps/server-connector.xml /etc/tomcat9/
# configure at start-up
COPY entrypoint.sh.soda /root/entrypoint.sh
# run
RUN pwd && chmod +x /root/entrypoint.sh
CMD ["sh", "-c", "/root/entrypoint.sh"]
#FROM debian:bullseye-slim
#LABEL description="vlkb tomcat9"
FROM tomcat:9-jre17-temurin-jammy
#ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
#ENV CATALINA_BASE=/var/lib/tomcat9
#ENV CATALINA_HOME=/usr/share/tomcat9
#ENV CATALINA_TMPDIR=/tmp
WORKDIR /root
ENV HOME /root
RUN apt-get -y update \
&& apt-get -y install apt-utils \
&& apt-get -y install libcfitsio-bin libcsv3 time unzip
# Remove the default webapps:
RUN rm -rf /usr/local/tomcat/webapps/examples/ \
/usr/local/tomcat/webapps/docs/ \
/usr/local/tomcat/webapps/host-manager
ENV WEBAPP_DIR=/webapps/vlkb-soda
COPY deps/ast_9.2.9-1_amd64.deb ./
RUN dpkg -i /root/ast_9.2.9-1_amd64.deb && ldconfig \
&& mkdir -p ${WEBAPP_DIR} \
&& mkdir -p /srv/surveys && mkdir -p /srv/cutouts \
&& mkdir -p /etc/pki/tls
ARG VLKB_VERSION
COPY vlkb-${VLKB_VERSION}.deb ./
COPY vlkb-soda-${VLKB_VERSION}.war ${WEBAPP_DIR}/
RUN dpkg -i vlkb-${VLKB_VERSION}.deb \
&& cd ${WEBAPP_DIR} && unzip vlkb-soda-${VLKB_VERSION}.war
# configure instance
ENV INST_DIR=/usr/local
RUN echo "${INST_DIR}/lib" > /etc/ld.so.conf.d/ast.conf && ldconfig
# configure during docker build-time
# precofigure port 8080 (no SSL)
COPY deps/server.xml deps/server-connector.xml /usr/local/tomcat/conf/
#COPY deps/server.xml deps/server-connector.xml /etc/tomcat9/
# configure during docker run-time
COPY entrypoint.sh.soda /root/entrypoint.sh
# run
RUN pwd && chmod +x /root/entrypoint.sh
CMD ["sh", "-c", "/root/entrypoint.sh"]
#!/bin/bash #!/bin/bash
set +e set +e
LOG_FILE=/tmp/entrypoint.log
{ {
date date
whoami whoami
env env
#########################################################################
echo "SECURITY : "$SECURITY
echo "ACCESS_CONTEXT_ROOT : "$ACCESS_CONTEXT_ROOT ## configure SODA
echo "RESPONSE_FORMAT : "$RESPONSE_FORMAT
echo "URL_CUTOUTS : "$URL_CUTOUTS
echo "build-time config'd (Dockefile):"
echo "INST_DIR : "$INST_DIR
echo "WEBAPP_DIR : "$WEBAPP_DIR
echo "JAVA_HOME : "$JAVA_HOME
echo "CATALINA_BASE : "$CATALINA_BASE
echo "CATALINA_HOME : "$CATALINA_HOME
echo "CATALINA_TMPDIR : "$CATALINA_TMPDIR
#########################################################################
## configure VLKB access
mkdir -p $CATALINA_BASE/conf/Catalina/localhost
cp $WEBAPP_DIR/META-INF/context.xml $CATALINA_BASE/conf/Catalina/localhost/$ACCESS_CONTEXT_ROOT.xml cp $WEBAPP_DIR/META-INF/context.xml $CATALINA_BASE/conf/Catalina/localhost/$ACCESS_CONTEXT_ROOT.xml
echo "fits_path_surveys=/srv/surveys" > $WEBAPP_DIR/WEB-INF/classes/cutout.properties echo "fits_path_surveys=/srv/surveys" > $WEBAPP_DIR/WEB-INF/classes/cutout.properties
...@@ -55,18 +38,17 @@ echo "fits_path_surveys=/srv/surveys" > $WEBAPP_DIR/WEB-INF/classes/cutout.prope ...@@ -55,18 +38,17 @@ echo "fits_path_surveys=/srv/surveys" > $WEBAPP_DIR/WEB-INF/classes/cutout.prope
} >> $WEBAPP_DIR/WEB-INF/classes/cutout.properties } >> $WEBAPP_DIR/WEB-INF/classes/cutout.properties
## Security
#### Security
case $SECURITY in case $SECURITY in
iamtoken) iamtoken)
cd $WEBAPP_DIR/WEB-INF/ && rm -f web.xml && cp web-cutout-$SECURITY.xml web.xml && cd - cd $WEBAPP_DIR/WEB-INF/ && rm -f web.xml && cp web-cutout-$SECURITY.xml web.xml && cd -
cp /etc/pki/tls/server-connector.xml /etc/tomcat9/ cp /etc/pki/tls/server-connector.xml $CATALINA_BASE/conf
cp /etc/pki/tls/iamtoken.properties $WEBAPP_DIR/WEB-INF/classes/ cp /etc/pki/tls/iamtoken.properties $WEBAPP_DIR/WEB-INF/classes/
rm -f $WEBAPP_DIR/WEB-INF/lib/jjwt-*0.11*.jar rm -f $WEBAPP_DIR/WEB-INF/lib/jjwt-*0.11*.jar
;; ;;
tsl) tsl)
cp /etc/pki/tls/server-connector.xml /etc/tomcat9/ cp /etc/pki/tls/server-connector.xml $CATALINA_BASE/conf
rm -f $WEBAPP_DIR/WEB-INF/lib/jjwt-*.jar rm -f $WEBAPP_DIR/WEB-INF/lib/jjwt-*.jar
;; ;;
*) *)
...@@ -74,13 +56,8 @@ case $SECURITY in ...@@ -74,13 +56,8 @@ case $SECURITY in
;; ;;
esac esac
#########################################################################
date date
} 1> /tmp/entrypoint.log 2>&1
} 1> $LOG_FILE 2>&1 $CATALINA_HOME/bin/catalina.sh run
/usr/libexec/tomcat9/tomcat-start.sh &
wait -n
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment