diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e7820db3dd4e4a7c62f6c368d534be254c1e3daf..cf9b1812f6f3f9ca5513b3d18ee771eb91761b9d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -145,19 +145,19 @@ build-env:
     - docker push $CI_REGISTRY/$CI_PROJECT_PATH/build-env
 
 checkstyle:
-  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:43ca04a98adaa2dc2c2d4ce5da58a2514f08d10b7784b3df8c328debac7afc51
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:de694e33826dc2f9e9db7e50ff2a8591a01681c2ed96cac2b05f45047ca8995e
   stage: test
   script:
     - ./gradlew checkstyleMain checkstyleTest
 
 spotbugs:
-  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:43ca04a98adaa2dc2c2d4ce5da58a2514f08d10b7784b3df8c328debac7afc51
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:de694e33826dc2f9e9db7e50ff2a8591a01681c2ed96cac2b05f45047ca8995e
   stage: test
   script:
     - ./gradlew :spotbugsMain :core:spotbugsMain :worker:spotbugsMain
 
 test:
-  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:43ca04a98adaa2dc2c2d4ce5da58a2514f08d10b7784b3df8c328debac7afc51
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:de694e33826dc2f9e9db7e50ff2a8591a01681c2ed96cac2b05f45047ca8995e
   stage: test
   script:
     - ./gradlew test
@@ -189,7 +189,7 @@ test-coverage:
       cobertura: build/reports/jacoco/jacocoRootReport/cobertura.xml
 
 jar-core:
-  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:43ca04a98adaa2dc2c2d4ce5da58a2514f08d10b7784b3df8c328debac7afc51
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:de694e33826dc2f9e9db7e50ff2a8591a01681c2ed96cac2b05f45047ca8995e
   stage: jar
   script:
     - ./gradlew bootJar
@@ -199,7 +199,7 @@ jar-core:
     expire_in: 1h
 
 jar-worker:
-  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:43ca04a98adaa2dc2c2d4ce5da58a2514f08d10b7784b3df8c328debac7afc51
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/build-env@sha256:de694e33826dc2f9e9db7e50ff2a8591a01681c2ed96cac2b05f45047ca8995e
   stage: jar
   script:
     - ./gradlew :worker:jar
diff --git a/build-env.Dockerfile b/build-env.Dockerfile
index a58e771d627eb8fc4403589fb5c381c0ba5bd82f..901f66ab703bdf40f221ec6195184ea1950f30ec 100644
--- a/build-env.Dockerfile
+++ b/build-env.Dockerfile
@@ -10,7 +10,7 @@ RUN sh -c 'apt-get update \
     && apt-get install -y --no-install-recommends openjdk-11-jdk-headless python3 ruby ruby-dev \
             build-essential libicu67 libicu-dev zlib1g zlib1g-dev cmake pkg-config libssl1.1 \
             libssl-dev git python3-pip curl \
-    && curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
+    && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
     && apt-get install -y nodejs \
     && pip3 install profanity-check pylint==2.14.5 \
     && gem install -N github-linguist \
diff --git a/core/build.gradle b/core/build.gradle
index a5f16220567dc5f254623e50aeddab8496d408ef..0d6f1aed468ca72776bfeafb46f3d5f83dd17ba5 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -67,6 +67,7 @@ task initUi(type: Exec) {
 
     workingDir "${rootProject.projectDir}/ui"
 
+    environment 'NODE_OPTIONS', '--openssl-legacy-provider'
     commandLine 'npm', 'install'
 
     outputs.file("${uiRoot}/package-lock.json")
@@ -77,6 +78,7 @@ task buildUi(type: Exec) {
 
     workingDir "${rootProject.projectDir}/ui"
 
+    environment 'NODE_OPTIONS', '--openssl-legacy-provider'
     commandLine 'npm', 'run', 'build'
 
     outputs.dir("${rootProject.projectDir}/ui/dist/")
diff --git a/core/src/main/resources/dist.zip b/core/src/main/resources/dist.zip
deleted file mode 100644
index 5e5601286ac75ae994e3e22388c8420499dfbb01..0000000000000000000000000000000000000000
Binary files a/core/src/main/resources/dist.zip and /dev/null differ
diff --git a/ui/vue.config.js b/ui/vue.config.js
index b91456df6b5fa38d8627a1a933f5496dfc3cdeb3..f6fc871175d5214a1e5b0cc56e0eb9d4c366bd1a 100644
--- a/ui/vue.config.js
+++ b/ui/vue.config.js
@@ -20,4 +20,7 @@ module.exports = {
       }),
     ],
   },
+  devServer: {
+    proxy: 'http://localhost:8080/',
+  },
 };