From 8a7abeca398756aafec718cf6355cc55aef060cd Mon Sep 17 00:00:00 2001 From: Eduard Marbach Date: Wed, 29 Jan 2025 13:44:57 +0100 Subject: [PATCH] build: add Dockerfile for building page in container (amd64 only) --- Dockerfile | 27 +++++++++++++++------------ Dockerfile.war | 16 ++++++++++++++++ 2 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 Dockerfile.war diff --git a/Dockerfile b/Dockerfile index af404f0f..340261da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,19 @@ -########### -# WebVOWL # -########### +# Build stage +FROM node:22-alpine AS builder -# Use tomcat java 8 alpine as base image -FROM tomcat:9-jre8-alpine +WORKDIR /app +COPY . . -# Build time arguments (WebVOWL version) -ARG version=1.1.7 +# Install dependencies and build +RUN npm install +RUN npm run-script release -# Download WebVOWL to tomcat webapps directory as root app -RUN rm -rf /usr/local/tomcat/webapps/* && \ - wget -O /usr/local/tomcat/webapps/ROOT.war http://vowl.visualdataweb.org/downloads/webvowl_1.1.7.war +# Production stage +FROM nginx:alpine +COPY --from=builder /app/deploy /usr/share/nginx/html -# Run default server -CMD ["catalina.sh", "run"] \ No newline at end of file +# Optional: Custom nginx configuration if needed +# COPY nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/Dockerfile.war b/Dockerfile.war new file mode 100644 index 00000000..af404f0f --- /dev/null +++ b/Dockerfile.war @@ -0,0 +1,16 @@ +########### +# WebVOWL # +########### + +# Use tomcat java 8 alpine as base image +FROM tomcat:9-jre8-alpine + +# Build time arguments (WebVOWL version) +ARG version=1.1.7 + +# Download WebVOWL to tomcat webapps directory as root app +RUN rm -rf /usr/local/tomcat/webapps/* && \ + wget -O /usr/local/tomcat/webapps/ROOT.war http://vowl.visualdataweb.org/downloads/webvowl_1.1.7.war + +# Run default server +CMD ["catalina.sh", "run"] \ No newline at end of file