Skip to content

Commit

Permalink
revert to the tomcat (#140)
Browse files Browse the repository at this point in the history
  • Loading branch information
yzlucas authored Oct 2, 2024
1 parent 5cd0aef commit 5405965
Showing 1 changed file with 43 additions and 39 deletions.
82 changes: 43 additions & 39 deletions client/wfprev-war/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,39 +1,43 @@
#Step 1: Build the Angular app
FROM node:18 AS build

WORKDIR /src/main/angular

# Add NPM Token from build arguments for private registry authentication
# ARG NPM_TOKEN
# ARG PRIVATE_REGISTRY_AUTH
# RUN echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
# RUN echo "//bwa.nrs.gov.bc.ca/int/artifactory/api/npm/nrs-virtual-npm/:_auth=${PRIVATE_REGISTRY_AUTH}" >> .npmrc

# Copy the package.json and package-lock.json files
COPY src/main/angular/package*.json ./

# Clean the npm cache before installing dependencies
RUN npm cache clean --force

# Remove node_modules and package-lock.json if they exist (optional cleanup)
RUN rm -rf node_modules package-lock.json

# Install npm dependencies
RUN npm install

# Copy the rest of the Angular project files
COPY src/main/angular ./

# Build the Angular project (use --configuration=production instead of --prod)
RUN npm run build --configuration=production

# Step 2: Serve the app with nginx
FROM nginx:alpine

# Copy the built Angular app to Nginx
COPY --from=build /src/main/angular/dist/wfprev/* /usr/share/nginx/html
# Expose port 80
EXPOSE 80

# Start Nginx server
CMD ["nginx", "-g", "daemon off;"]
# Use an official Tomcat image with JDK 8
FROM tomcat:9.0.91-jdk17
#Install at very top layer to ease caching issues for devs
RUN apt-get -y update &&\
apt-get install -y unzip
ARG CONTAINER_NAME=wfprev-war
ENV CATALINA_HOME /usr/local/tomcat
# Define build arguments
ARG WAR_FILE=*.war
ARG CONTAINER_NAME
# Add the application's war to the container and rename it to pub#<warname>.war
ADD ${WAR_FILE} .
# Copy the context.xml.template template and other configuration files
# COPY docker-files/server.xml $CATALINA_HOME/conf/
# Create the tomcat user and group, and set permissions
# TEMPNAME step is to remove "-war" from the path
RUN rm -rf /usr/local/tomcat/webapps/ROOT &&\
for i in $(ls *.war) ; \
do \
export TEMPNAME="$(echo $i | sed 's/(.*)((-api)|(-war))-.*/\1\3/' -r)" &&\
unzip $i -d /usr/local/tomcat/webapps/pub#$TEMPNAME ; \
done &&\
addgroup --system tomcat &&\
adduser --system --ingroup tomcat tomcat &&\
chown -R tomcat:tomcat `readlink -f ${CATALINA_HOME}` &&\
chmod -R 770 `readlink -f ${CATALINA_HOME}` &&\
chown -h tomcat:tomcat ${CATALINA_HOME} &&\
mkdir -p /usr/local/tomcat/temp &&\
mkdir -p /usr/local/tomcat/logs/wfhr &&\
mkdir -p /${CATALINA_HOME}/webapps/pub#${CONTAINER_NAME} &&\
chown -R tomcat:tomcat /usr/local/tomcat/logs/wfhr &&\
chmod 766 /usr/local/tomcat/logs &&\
chmod 766 /usr/local/tomcat/logs/wfhr &&\
chmod 766 /usr/local/tomcat/work &&\
chmod 766 /usr/local/tomcat/temp &&\
chmod 766 /${CATALINA_HOME}/webapps/pub#${CONTAINER_NAME} &&\
echo org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.EnvironmentPropertySource >> /usr/local/tomcat/conf/catalina.properties
VOLUME /usr/local/tomcat/logs /usr/local/tomcat/work /usr/local/tomcat/temp
# Expose the ports
EXPOSE 8080 8000
USER tomcat
# Run the Tomcat server with JPDA settings for remote debugging
CMD ["catalina.sh", "run"]

0 comments on commit 5405965

Please sign in to comment.