From f22294056e6d38fe5023b7a36485110899440239 Mon Sep 17 00:00:00 2001 From: w-mj Date: Fri, 31 Mar 2023 22:07:03 +0800 Subject: [PATCH] webdav image --- webdav/Dockerfile | 3 ++ webdav/Makefile | 7 +++++ webdav/entrypoint.sh | 11 +++++++ webdav/webdav.yaml | 68 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 webdav/Dockerfile create mode 100644 webdav/Makefile create mode 100644 webdav/entrypoint.sh create mode 100644 webdav/webdav.yaml diff --git a/webdav/Dockerfile b/webdav/Dockerfile new file mode 100644 index 0000000..041a8b6 --- /dev/null +++ b/webdav/Dockerfile @@ -0,0 +1,3 @@ +FROM ugeek/webdav:amd64 + +COPY entrypoint.sh / diff --git a/webdav/Makefile b/webdav/Makefile new file mode 100644 index 0000000..914acd8 --- /dev/null +++ b/webdav/Makefile @@ -0,0 +1,7 @@ +TAG = docker.educg.net/cg/webdav:v1.0 + +build: + docker build -t $(TAG) . + +push: + docker push $(TAG) \ No newline at end of file diff --git a/webdav/entrypoint.sh b/webdav/entrypoint.sh new file mode 100644 index 0000000..e9cfb01 --- /dev/null +++ b/webdav/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ -n "$USERNAME" ] && [ -n "$PASSWORD" ] +then + htpasswd -bc /etc/nginx/htpasswd $USERNAME $PASSWORD + echo Done. +else + echo Using no auth. + sed -i 's%auth_basic "Restricted";% %g' /etc/nginx/conf.d/default.conf + sed -i 's%auth_basic_user_file htpasswd;% %g' /etc/nginx/conf.d/default.conf +fi diff --git a/webdav/webdav.yaml b/webdav/webdav.yaml new file mode 100644 index 0000000..3430111 --- /dev/null +++ b/webdav/webdav.yaml @@ -0,0 +1,68 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cg-webdav + labels: + app: cg-webdav +spec: + replicas: 1 + selector: + matchLabels: + app: cg-webdav + template: + metadata: + labels: + app: cg-webdav + spec: + containers: + - name: cg-webdav-container + # image: bytemark/webdav:2.4 + image: docker.educg.net/cg/webdav:v1.0 + # command: ["/bin/bash"] + # args: ["-c", "sleep 365d"] + ports: + - containerPort: 80 + env: + - name: TZ + value: Asia/Shanghai + volumeMounts: + - name: webdav-nfs + mountPath: /media + # mountPath: /var/lib/dav + volumes: + - name: webdav-nfs + nfs: + server: 192.168.252.250 + path: /mnt/CGdata/ms +--- +apiVersion: v1 +kind: Service +metadata: + name: cg-webdav-svc + labels: + name: cg-webdav-svc +spec: + ports: + - port: 80 + targetPort: 80 + selector: + app: cg-webdav +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: webdav-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: /files(/|$)(.*) + pathType: Prefix + backend: + service: + name: cg-webdav-svc + port: + number: 80 \ No newline at end of file