FROM tomee:9.1.3-jre17-Semeru-ubuntu-plume # Install nano USER root RUN apt update && apt install -y nano cups-client cups-bsd && apt clean # Create a user with a home directory RUN useradd -u 1000 -m -d /home/hobbyadmin -s /bin/bash hobbyadmin # Set the working directory WORKDIR /usr/local/tomee # Create the output directory and set permissions RUN mkdir -p /usr/local/tomee/output && chown -R 1000:1000 /usr/local/tomee/output RUN mkdir -p /usr/local/tomee/config && chown -R 1000:1000 /usr/local/tomee/config # Copy application files # COPY . /usr/local/tomee RUN if [ -d /usr/local/tomee/webapps/ROOT ]; then mv /usr/local/tomee/webapps/ROOT /usr/local/tomee/webapps/welcome; fi RUN if [ -f /usr/local/tomee/webapps/ROOT.war ]; then mv /usr/local/tomee/webapps/ROOT.war /usr/local/tomee/webapps/admin.war; fi COPY tomcat-users.xml /usr/local/tomee/conf/tomcat-users.xml COPY manager.xml /usr/local/tomee/conf/Catalina/localhost/manager.xml # Create a startup script to set umask and run the application RUN echo '#!/bin/sh' > /usr/local/tomee/start.sh \ && echo 'umask 002' >> /usr/local/tomee/start.sh \ && echo 'catalina.sh run' >> /usr/local/tomee/start.sh # Make the startup script executable RUN chmod +x /usr/local/tomee/start.sh # Change ownership of all files to user 1000 RUN chown -R 1000:1000 /usr/local/tomee # Set the user to "hobbyadmin" (replace 1000 with the actual UID of hobbyadmin) USER hobbyadmin # Run the startup script CMD ["/usr/local/tomee/start.sh"]