docker-ahi/tomcat/Dockerfile
2024-10-31 09:38:53 +01:00

38 lines
1.1 KiB
Docker

FROM tomcat:9.0.89-jdk17
# Define arguments for the group and user IDs
ARG USER_ID
ARG GROUP_ID
ARG USERNAME
ARG GROUPNAME
# Create group and user with IDs passed from Docker Compose
RUN groupadd -g ${GROUP_ID} ${GROUPNAME} && \
useradd --no-log-init -u ${USER_ID} -g ${GROUP_ID} -m ${USERNAME} || true
# Install necessary packages and clean up
RUN apt-get update && \
apt-get install -y gosu libreoffice && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# CONFIG
COPY ./tomcat_conf/catalina.properties /usr/local/tomcat/conf/catalina.properties
COPY ./tomcat_conf/context.xml /usr/local/tomcat/conf/context.xml
COPY ./tomcat_conf/server.xml /usr/local/tomcat/conf/server.xml
# JDBC
COPY ./libs/postgresql-42.6.0.jar /usr/local/tomcat/lib/postgresql-42.6.0.jar
# Set permissions on Tomcat directories
RUN chown -R ${USERNAME}:${GROUPNAME} /usr/local/tomcat
# Ensure the required dconf cache directory exists and has the correct permissions
RUN mkdir -p /home/${USERNAME}/.cache/dconf && \
chown -R ${USERNAME}:${GROUPNAME} /home/${USERNAME}/.cache/dconf
USER ${USERNAME}
# Default command to run Tomcat
CMD ["catalina.sh", "run"]