diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e472b7318509db963871fb52d237746ea83d86b2..e2814778131579de7bbcac4a686b26d27e9532b9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -50,6 +50,7 @@ build-front:
     IMAGE_NAME: front
 
 build-back:
+  allow_failure: true
   extends: .build
   variables:
     CONTEXT: backend/
diff --git a/frontend/.dockerignore b/frontend/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..7c8659474583db5e050efdb024a2d71e259673a4
--- /dev/null
+++ b/frontend/.dockerignore
@@ -0,0 +1,7 @@
+.dockerignore
+.env.development
+.eslintrc.js
+.prettierrc
+Dockerfile
+node_modules
+dist
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..f070b66c05d9d427185bd1d7a5716a5cfb1b091e
--- /dev/null
+++ b/frontend/Dockerfile
@@ -0,0 +1,22 @@
+FROM node:16 as build
+
+WORKDIR /frontend
+
+COPY package.json package-lock.json ./
+
+RUN npm install
+
+COPY . .
+
+RUN touch .env
+
+RUN echo "VUE_APP_BACKEND_BASE_URL=webroot.example.com" >> .env
+
+RUN npm run build
+
+FROM nginxinc/nginx-unprivileged:latest
+
+COPY --chown=nginx --from=build /frontend/dist/ /usr/share/nginx/html
+
+ENTRYPOINT sed -i -e "s/webroot.example.com/$VUE_APP_BACKEND_BASE_URL/g" /usr/share/nginx/html/js/app.*.js \
+        && nginx -g 'daemon off;'