diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0cb11938f9e56f03ee649dc6970e2da7697dd2c5..178dbdb4cbc7fe9c5e011f7c296b0cab2c70532d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ include:
 
 # run linting
 opinionated_lint:
-  image: node:18-alpine
+  image: node:20-alpine
   stage: test
   script:
     - npm ci --ignore-scripts
diff --git a/Dockerfile b/Dockerfile
index 515e0be9f222edcf666670d0d9fcdeb4a8c357ea..f93aaeb905c663eae4145199e0bba86eca299f6e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
 # Base stage
-FROM node:18-bookworm-slim as base
+FROM node:20-bookworm-slim as base
 
 # Set the working directory
 WORKDIR /app
@@ -51,7 +51,7 @@ COPY . .
 RUN npm run build
 
 # Stage 2: Production environment
-FROM node:18-alpine as production
+FROM node:20-alpine as production
 
 # Set the working directory
 WORKDIR /app