38 lines
1.1 KiB
Docker
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"]
|