diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 953f66de520363c6dd0da6b77764d2fec98ca073..3d322efdb2bc857270f7acfc1c27df88477487ff 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,7 +38,7 @@ run-tests:
       alias: localhost
   script:
     - docker run -p 27017:27017
-      --detached
+      --detach
       --name mongo-container
       --rm
       --network=host
@@ -49,7 +49,8 @@ run-tests:
       --network=host
       --build-arg MONGODB_URL_TEST=mongodb://localhost:27017/todo-app
       --build-arg JWT_SECRET_TEST=my-very-secret-jwt
-      --add-host=host.docker.internal:localhost
+      --add-host=host.docker.internal:host-gateway
+      --file Dockerfile.test
       "./app"
   after_script:
     - docker stop mongo-container
diff --git a/app/Dockerfile b/app/Dockerfile
index af432714e8433c96bb04d0b4037bc5245113c0ed..224291a7282840a6c9b9c7d126ea41690d041e29 100644
--- a/app/Dockerfile
+++ b/app/Dockerfile
@@ -14,35 +14,6 @@ ENV \
     MONGODB_URL=<dynamically-set-from-k8s> \
     JWT_SECRET=<dynamically-set-from-k8s>
 
-# ------------------------------------------------------------------
-# # Test stage
-# FROM base AS test
-
-# # client tests
-# WORKDIR /client
-
-# COPY ./client .
-
-# RUN npm ci --no-audit --no-fund
-
-# RUN npm run test
-
-# # server tests
-# WORKDIR /server
-
-# COPY ./server/src ./src/
-
-# COPY ./server/package*.json ./
-
-# RUN npm ci --no-audit --no-fund
-
-# ARG MONGODB_URL_TEST
-# ARG JWT_SECRET_TEST
-
-# # MONGODB_URL and JWT_SECRET are available as env variables
-# RUN MONGODB_URL=$MONGODB_URL_TEST JWT_SECRET=$JWT_SECRET_TEST npm run test
-
-# ------------------------------------------------------------------
 # Build stage
 FROM base AS build
 
diff --git a/app/Dockerfile.test b/app/Dockerfile.test
new file mode 100644
index 0000000000000000000000000000000000000000..7b565b93cd6068105bbf771e185fde642f637575
--- /dev/null
+++ b/app/Dockerfile.test
@@ -0,0 +1,29 @@
+ARG NODEJS_VERSION='16.17.0'
+
+# Test stage
+FROM node:$NODEJS_VERSION-alpine
+
+# client tests
+WORKDIR /client
+
+COPY ./client .
+
+RUN npm ci --no-audit --no-fund
+
+RUN npm run test
+
+# server tests
+WORKDIR /server
+
+COPY ./server/src ./src/
+
+COPY ./server/package*.json ./
+
+RUN npm ci --no-audit --no-fund
+
+ARG \
+    MONGODB_URL_TEST=mongodb://host.docker.internal:27017/todo-app \
+    JWT_SECRET_TEST=<my-very-secret-jwt>
+
+# MONGODB_URL and JWT_SECRET are available as env variables
+RUN MONGODB_URL=$MONGODB_URL_TEST JWT_SECRET=$JWT_SECRET_TEST npm run test