diff --git a/media/files-ro.yaml b/media/files-ro.yaml new file mode 100644 index 0000000..9063e00 --- /dev/null +++ b/media/files-ro.yaml @@ -0,0 +1,99 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: files-ro-server +spec: + revisionHistoryLimit: 3 + selector: + matchLabels: + app: files-ro-server + replicas: 1 + template: + metadata: + labels: + app: files-ro-server + spec: + imagePullSecrets: + - name: regcred + volumes: + - name: downloads + persistentVolumeClaim: + claimName: downloads-nfs + containers: + - name: files-ro-server + image: caddy:2 + args: ["caddy", "file-server", "--listen", ":8080", "--root", "/www", "--browse"] + securityContext: + runAsUser: 1000 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8080 + name: web-port + protocol: TCP + env: + - name: TZ + value: Australia/Melbourne + volumeMounts: + - name: downloads + mountPath: /www + resources: + requests: + cpu: 100m + memory: 126Mi + limits: + cpu: 400m + memory: 512Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: files-ro-server + labels: + app: files-ro-server +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web-port + protocol: TCP + selector: + app: files-ro-server + +--- + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: files-ro-server-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + kubernetes.io/tls-acme: "true" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + nginx.ingress.kubernetes.io/proxy-body-size: 102400m + nginx.ingress.kubernetes.io/whitelist-source-range: "192.168.1.0/24" +spec: + tls: + - hosts: + - ro.junv.cc + secretName: openmedia-tls + rules: + - host: openmedia.junv.cc + http: + paths: + - backend: + service: + name: files-ro-server + port: + number: 80 + path: / + pathType: Prefix + - host: ro.junv.cc + http: + paths: + - backend: + service: + name: files-ro-server + port: + number: 80 + path: / + pathType: Prefix