From 25d0d140e7092510b2be274fc753052472d33ebc Mon Sep 17 00:00:00 2001 From: Philip Haupt <“der.mad.mob@gmail.com”> Date: Sun, 22 Jun 2025 23:48:34 +0200 Subject: [PATCH] nginx added --- nginx/cm.yaml | 76 ++++++++++++++++++++++++++++++++++++++++ nginx/deploy.yaml | 33 +++++++++++++++++ nginx/kustomization.yaml | 9 +++++ nginx/pv.yaml | 16 +++++++++ nginx/pvc.yaml | 11 ++++++ nginx/svc.yaml | 12 +++++++ 6 files changed, 157 insertions(+) create mode 100644 nginx/cm.yaml create mode 100644 nginx/deploy.yaml create mode 100644 nginx/kustomization.yaml create mode 100644 nginx/pv.yaml create mode 100644 nginx/pvc.yaml create mode 100644 nginx/svc.yaml diff --git a/nginx/cm.yaml b/nginx/cm.yaml new file mode 100644 index 0000000..4e130b2 --- /dev/null +++ b/nginx/cm.yaml @@ -0,0 +1,76 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-vhosts +data: + default.conf: | + server { + listen 80 default_server; + listen [::]:80 default_server; + + server_name _; + + root /usr/share/nginx/html/homepage; + index index.html index.htm; + + location / { + try_files $uri $uri/ =404; + charset utf-8; + } + + gzip on; + gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; + gzip_min_length 1000; + + ## direkt in Treafik geroutet + # location /_matrix { + # proxy_pass http://synapse:8008; + # proxy_set_header X-Forwarded-For $remote_addr; + # client_max_body_size 128m; + # } + # + # location /.well-known/matrix/ { + # default_type application/json; + # add_header Access-Control-Allow-Origin https://borninpain.de; + # } + } + + server { + listen 80; + listen [::]:80; + server_name dev.ggwe; + + root /usr/share/nginx/html/ggwe; + index index.html index.htm; + + #access_log /var/log/nginx/dev.abc.de.access.log; + #error_log /var/log/nginx/dev.abc.de.error.log; + + # location / { + # try_files $uri $uri/ =404; + # } + # + # location ~ /\.ht { + # deny all; + # } + } + + server { + listen 80; + listen [::]:80; + server_name i.pki.home c.pki.home; + + root /usr/share/nginx/html/pki; + index index.html index.htm; + + #access_log /var/log/nginx/dev.abc.de.access.log; + #error_log /var/log/nginx/dev.abc.de.error.log; + + location / { + try_files $uri $uri/ =404; + } + + location ~ /\.ht { + deny all; + } + } diff --git a/nginx/deploy.yaml b/nginx/deploy.yaml new file mode 100644 index 0000000..d53cb51 --- /dev/null +++ b/nginx/deploy.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-nfs-webseite +spec: + replicas: 1 + selector: + matchLabels: + app: nginx-nfs + template: + metadata: + labels: + app: nginx-nfs + spec: + containers: + - name: nginx + image: nginx:alpine + volumeMounts: + - name: web-content + mountPath: /usr/share/nginx/html + readOnly: true + - name: nginx-vhosts + mountPath: /etc/nginx/conf.d + readOnly: true + ports: + - containerPort: 80 + volumes: + - name: web-content + persistentVolumeClaim: + claimName: nfs-media-nginx + - name: nginx-vhosts + configMap: + name: nginx-vhosts \ No newline at end of file diff --git a/nginx/kustomization.yaml b/nginx/kustomization.yaml new file mode 100644 index 0000000..fb63756 --- /dev/null +++ b/nginx/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - cm.yaml + - deploy.yaml + - pv.yaml + - pvc.yaml + - svc.yaml \ No newline at end of file diff --git a/nginx/pv.yaml b/nginx/pv.yaml new file mode 100644 index 0000000..f37913c --- /dev/null +++ b/nginx/pv.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-media-nginx +spec: + storageClassName: nfs-storage + capacity: + storage: 1Gi # Beachte: NFS ist dynamisch, die Größe ist nur ein Label + accessModes: + - ReadWriteMany # Mehrere Pods können es gleichzeitig nutzen + persistentVolumeReclaimPolicy: Retain + nfs: + path: /mnt/volume1/container/docker/nginx/websites # Der Pfad der NFS-Freigabe auf der NAS + server: 192.168.10.1 # Die IP-Adresse deiner NAS + mountOptions: + - nfsvers=4 # Passe ggf. an (nfsvers=3 falls nötig) \ No newline at end of file diff --git a/nginx/pvc.yaml b/nginx/pvc.yaml new file mode 100644 index 0000000..a435c6d --- /dev/null +++ b/nginx/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nfs-media-nginx +spec: + accessModes: + - ReadOnlyMany + resources: + requests: + storage: 1Gi + volumeName: nfs-media-nginx \ No newline at end of file diff --git a/nginx/svc.yaml b/nginx/svc.yaml new file mode 100644 index 0000000..58f0e67 --- /dev/null +++ b/nginx/svc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx +spec: + selector: + app: nginx-nfs + ports: + - protocol: TCP + port: 80 + targetPort: 80 + type: ClusterIP \ No newline at end of file