Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert docker file #129

Merged
merged 1 commit into from
Oct 2, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 39 additions & 54 deletions client/wfprev-war/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,54 +1,39 @@
# 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"]
#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;"]
Loading