Skip to content

Commit c2460a8

Browse files
committed
Docker: taggers and tagsets as mount
1 parent 57547c0 commit c2460a8

6 files changed

Lines changed: 18 additions & 33 deletions

File tree

client/.dockerignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
**/node_modules
2-
**/dist
1+
2+
node_modules

client/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build stage
2-
FROM node:23.2.0-alpine3.19 as build
2+
FROM node:23.11.0-alpine3.21 as build
33
COPY . .
44
# Install project dependencies (somehow Python has to be installed)
55
RUN apk --no-cache add --virtual .builds-deps build-base python3
@@ -8,7 +8,7 @@ RUN npm ci
88
RUN npm run build
99

1010
# Production stage.
11-
FROM node:23.2.0-alpine3.19
11+
FROM node:23.11.0-alpine3.21
1212
WORKDIR /app
1313
# Install dependencies of server.js
1414
RUN npm install express connect-history-api-fallback && npm cache clean --force

docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ services:
1717
- user-corpora:/data/corpora/user
1818
- benchmark-corpora:/data/corpora/datasets
1919
- admins:/data/admins
20+
- ./server/data/tagsets:/data/tagsets
21+
- ./server/data/taggers:/data/taggers
2022
networks:
2123
- taggers
2224
- default

server/.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*
2+
!src/**
3+
!build.gradle.kts
4+
!settings.gradle.kts
5+
!application.properties
6+
!data/corpora/datasets/**

server/Dockerfile

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,9 @@
1-
FROM gradle:8.13.0-jdk23-alpine AS build
2-
# Note: the gradle version must match the version in build.gradle.kts
1+
FROM gradle:8.14.0-jdk21-alpine AS build
32
COPY --chown=gradle:gradle . /home/gradle/src
43
WORKDIR /home/gradle/src
5-
RUN echo "Contents of workdir:" && ls -l . \
6-
&& gradle build --no-daemon -x test \
7-
&& echo "Build complete, contents of build/libs:" && ls -l build/libs \
8-
&& rm build/libs/*-plain.jar \
9-
&& echo "Contents of build/libs after removing plain jars:" && ls -l build/libs
10-
11-
FROM eclipse-temurin:23.0.2_7-jre-alpine-3.21
4+
RUN gradle build -x test
125

6+
FROM eclipse-temurin:21.0.7_6-jre-alpine-3.21
137
EXPOSE 8010:8080
14-
COPY --from=build /home/gradle/src/build/libs/*.jar galahad-server.jar
15-
COPY --from=build /home/gradle/src/application.properties application.properties
16-
17-
COPY /data ./data
18-
19-
# -Dlog4j2.formatMsgNoLookups=true is to mitigate log4j zero-day, which we are probably vulnerable to since we use
20-
# https://logging.apache.org/log4j/kotlin/ , however it is not clear how to updrage log4j itself whilst keep using the kotlin wrapper
21-
# Therefore we use a mitigation noted here: https://github.com/advisories/GHSA-jfh8-c2jp-5v3q
22-
# It can be removed once we have ensured the log4j verion is properly upgraded
23-
# We start with a big heap size to avoid OOM on large documents
24-
ENTRYPOINT ["java", "-Xms4g", "-Xmx8g", "-Dspring.profiles.active=prod", "-Dlog4j2.formatMsgNoLookups=true", "-Djava.security.egd=file:/dev/./urandom","-jar","galahad-server.jar"]
8+
COPY --link --from=build /home/gradle/src/build/libs/galahad.jar /home/gradle/src/application.properties ./
9+
ENTRYPOINT ["java", "-Xms4g", "-Xmx8g", "-Dspring.profiles.active=prod", "-jar","galahad.jar"]

server/build.gradle.kts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,8 @@ plugins {
77

88
group = "org.ivdnt"
99

10-
java {
11-
toolchain {
12-
languageVersion = JavaLanguageVersion.of(23)
13-
}
14-
}
15-
1610
kotlin {
17-
compilerOptions {
18-
extraWarnings = true
19-
}
11+
jvmToolchain(21)
2012
}
2113

2214
repositories {

0 commit comments

Comments
 (0)