diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 468a24f3442815bab915f698f0d125aa6478caf6..961ba7901698f5826afd82de1cb937c5a1b9d168 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,13 +5,23 @@ stages:
 variables:
   CONTAINER_IMAGE: "registry.kszk.bme.hu/kubernetes/website:$CI_COMMIT_REF_NAME"
 
-before_script:
-  - echo "{\"auths\":{\"registry.kszk.bme.hu\":{\"username\":\"$CI_REG_USER\",\"password\":\"$CI_REG_PASS\"}}}" > /kaniko/.docker/config.json
-
 docker build:
   stage: Docker build
   image:
     name: gcr.io/kaniko-project/executor:debug
     entrypoint: [""]
   script:
+    - echo "{\"auths\":{\"registry.kszk.bme.hu\":{\"username\":\"$CI_REG_USER\",\"password\":\"$CI_REG_PASS\"}}}" > /kaniko/.docker/config.json
     - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CONTAINER_IMAGE
+
+deploy:
+  stage: Deploy
+  image: registry.kszk.bme.hu/baseimg/kubectl
+  script:
+    - kubectl get pods
+    - cd kubernetes
+    - ./substitute.sh
+    - ./k8s-apply.sh
+
+#  only:
+#    - master
diff --git a/README.md b/README.md
index 4ff4f965cab0ef7458b4c7b0eaac5217d3d5231f..9de4b286bac2262518e28c10a003a64665f5dd14 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,25 @@
 # Kubernetes a KSZK-ban weboldal
 
-[Megtalálod itt](kubernetes.sch.bme.hu)
+[Megtalálod itt](https://kubernetes.sch.bme.hu)
 
 ## Weboldal generálás
 Ez a repo [MkDocs](https://www.mkdocs.org/) segítségével generál statikus HTML
 kódot a docs/ mappából az mkdocs.yml fájl alapján Docker környezetben.
+
+## docs mappa
+A dokumentciót tartalmazza markdown formátumban.
+
+## kubernetes mappa
+A template mappjában a változókkal összeállított
+konfiguráció található. Ezt helyettesíti be a
+substitute.sh, melynek kimenete a generated mappában
+fellelhető.
+
+## .gitlab-ci.yml
+Ez a git.sch (ami egy gitlab instance) CI/CD
+folyamatának konfigurációja. A docker build és a k8s
+deployment van benne leírva.
+
+## Kézi kubernetes deploy
+A kubernetes mappában lévő scriptekkel megvalósítható a
+kézzel vezérelt deployment is.
diff --git a/kubernetes/generated/.gitignore b/kubernetes/generated/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4ce1c7b2b6ccda745092fd7b6ad4ee997076dc2d
--- /dev/null
+++ b/kubernetes/generated/.gitignore
@@ -0,0 +1,2 @@
+*
+!.git*
diff --git a/kubernetes/k8s-apply.sh b/kubernetes/k8s-apply.sh
new file mode 100755
index 0000000000000000000000000000000000000000..98242547ed07154f61b38ffbc5ee09d7efce3078
--- /dev/null
+++ b/kubernetes/k8s-apply.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# halt script on first error
+set -e
+
+# change workdir
+cd generated
+
+# Apply k8s configuration
+kubectl apply -f deployment.yaml
+kubectl apply -f service.yaml
+kubectl apply -f ingress.yaml
diff --git a/kubernetes/substitute.sh b/kubernetes/substitute.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0884817fca83c8a6ad6d8880da880ff7c23b8097
--- /dev/null
+++ b/kubernetes/substitute.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# halt script on first error
+set -e
+
+# copy *.yaml files to the generated folder
+cp template/*.yaml generated/
+
+# change workdir
+cd generated
+
+# replace _TEMPLATE_ variables to valid values
+sed -i "s|__CONTAINER_IMAGE__|${CONTAINER_IMAGE}|" *.yaml
+sed -i "s|__K8S_NAMESPACE__|kubernetes-sch-bme-hu|" *.yaml
+sed -i "s|__APP_NAME__|k8s-docs-web|" *.yaml
+sed -i "s|__WEB_PORT__|8000|" *.yaml
diff --git a/kubernetes/deployment.yaml b/kubernetes/template/deployment.yaml
similarity index 87%
rename from kubernetes/deployment.yaml
rename to kubernetes/template/deployment.yaml
index 8501f72519bd778f765ff90e5fb0d6e6f07fb2be..0a915a06b4d31d3886214f0ab1fc5410dd66fec3 100644
--- a/kubernetes/deployment.yaml
+++ b/kubernetes/template/deployment.yaml
@@ -17,6 +17,8 @@ spec:
       labels:
         app: __APP_NAME__
     spec:
+      imagePullSecrets:
+      - name: kszk-nexus-registry-cred
       containers:
       - image: __CONTAINER_IMAGE__
         name: __APP_NAME__
diff --git a/kubernetes/ingress.yaml b/kubernetes/template/ingress.yaml
similarity index 100%
rename from kubernetes/ingress.yaml
rename to kubernetes/template/ingress.yaml
diff --git a/kubernetes/service.yaml b/kubernetes/template/service.yaml
similarity index 100%
rename from kubernetes/service.yaml
rename to kubernetes/template/service.yaml