Skip to content
Open
Show file tree
Hide file tree
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
98 changes: 37 additions & 61 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,61 +1,37 @@
# Base image
FROM ubuntu:22.04

# Update packages and install necessary tools
RUN apt-get update -y \
&& apt-get install -y wget curl git unzip

# Create directory for Java and navigate to it
RUN mkdir -p /usr/ui/medplat-ui
RUN mkdir -p /usr/web
RUN mkdir -p /usr/android
RUN mkdir -p /usr/Repository

# Download and install OpenJDK 17
RUN wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz \
&& tar -xzvf openjdk-17.0.2_linux-x64_bin.tar.gz \
&& rm openjdk-17.0.2_linux-x64_bin.tar.gz

# Download and install Apache Maven 3.9.4
RUN wget https://archive.apache.org/dist/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz \
&& tar -xzvf apache-maven-3.9.4-bin.tar.gz \
&& rm apache-maven-3.9.4-bin.tar.gz


# Set environment variables for Java and Maven
USER root
ENV JAVA_HOME /jdk-17.0.2
ENV PATH $JAVA_HOME/bin:$PATH
ENV MAVEN_HOME /apache-maven-3.9.4
ENV PATH $MAVEN_HOME/bin:$PATH

# Install wkhtmltopdf
RUN apt-get install -y xfonts-75dpi
RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
RUN apt install -f -y ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
RUN dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
RUN cd /usr/share/fonts/truetype
RUN apt-get install -y fonts-indic

# Install Node.js and npm
RUN mkdir -p /usr/local/nvm
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION v16.16.0
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
RUN /bin/bash -c "source $NVM_DIR/nvm.sh && nvm install $NODE_VERSION && nvm use --delete-prefix $NODE_VERSION"
ENV NODE_PATH $NVM_DIR/versions/node/$NODE_VERSION/bin
ENV PATH $NODE_PATH:$PATH

RUN npm install --location=global npm@8.11.0

# Install global dependencies - bower
RUN npm install --location=global bower -y

# Copy application code to the working directory
COPY entrypoint.sh /usr/

EXPOSE 8181

RUN chmod +x /usr/entrypoint.sh

ENTRYPOINT [ "/usr/entrypoint.sh" ]
# Use Eclipse Temurin JDK 17 (slim, fast)
FROM eclipse-temurin:17-jre-jammy

# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive

# Install wkhtmltopdf and required fonts
RUN apt-get update && apt-get install -y \
wget \
xfonts-75dpi \
xfonts-base \
xfonts-encodings \
xfonts-utils \
fonts-indic \
libjpeg-turbo8 \
libxrender1 \
libfontconfig1 \
libxext6 \
fontconfig \
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb \
&& dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb || true \
&& apt-get install -f -y \
&& rm wkhtmltox_0.12.6.1-2.jammy_amd64.deb \
&& rm -rf /var/lib/apt/lists/*

# Copy the pre-built Spring Boot JAR
COPY medplat-web/target/medplat-web-2.0.jar /app/medplat-web.jar

# Expose application ports
EXPOSE 8080 8181

# Run the Spring Boot app with correct DB and static resource paths
CMD ["java", "-jar", "/app/medplat-web.jar", \
"--spring.datasource.url=jdbc:postgresql://db:5432/medplat", \
"--spring.datasource.username=postgres", \
"--spring.datasource.password=argusadmin", \
"---Dspring.config.additional-location=file:/usr/ui/"]
14 changes: 2 additions & 12 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
#!/bin/bash

cd /usr/ui/medplat-ui

npm install --legacy-peer-deps
bower install

cd /usr/web
mvn clean install -P docker -Dmaven.test.skip=true

mv /usr/web/target /usr/target/
cd /usr/target/
java -jar medplat-web-2.0.jar
echo "Started Successfully"
sleep infinity
Loading