diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0cd180019a3a48bee1c19aa3d89ee0714a2f77e9..cae401b3e48e85b933157a52c5b7bc42a0820683 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,3 +20,11 @@ build_app:
     - docker pull $CI_REGISTRY_IMAGE:test || true
     - docker build --cache-from $CI_REGISTRY_IMAGE:test -t $IMAGE_TAG_APP .
     - docker push $IMAGE_TAG_APP
+
+build_nginx:
+  stage: build
+  when: manual
+  script:
+    - docker pull $CI_REGISTRY_IMAGE:test-nginx || true
+    - docker build --cache-from $CI_REGISTRY_IMAGE:test-nginx -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx
+    - docker push $IMAGE_TAG_NGINX
diff --git a/nginx.conf b/nginx.conf
new file mode 100644
index 0000000000000000000000000000000000000000..1ed91b4d2c4fd8f7d0e5eb30b7c4a5cc308b5499
--- /dev/null
+++ b/nginx.conf
@@ -0,0 +1,23 @@
+upstream rybicka {
+    ip_hash;
+    server app:8000;
+}
+
+server {
+    server_name rybicka;
+    listen 8080;
+
+    client_max_body_size 10M;
+
+    proxy_connect_timeout   60;
+    proxy_send_timeout      60;
+    proxy_read_timeout      60;
+    send_timeout            60;
+
+    location / {
+        proxy_pass http://rybicka/;
+        proxy_set_header Host $host;
+        proxy_set_header X-Forwarded-Proto https;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+}