k3s/services/nextcloud/nextcloud-service.yaml
Astra Logical ea64bd8c89 Nextcloud
2026-06-11 19:11:46 -04:00

68 lines
1.4 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: nextcloud-app
namespace: nextcloud
spec:
selector:
app: nextcloud-app
ports:
- port: 80
targetPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nextcloud-db
namespace: nextcloud
spec:
selector:
app: nextcloud-db
ports:
- port: 5432
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: nextcloud-redirect
namespace: nextcloud
spec:
redirectRegex:
regex: "^https://(.*)/.well-known/(card|cal)dav"
replacement: "https://${1}/remote.php/dav/"
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: nextcloud-hsts
namespace: nextcloud
spec:
headers:
stsSeconds: 15552000
stsIncludeSubdomains: true
stsPreload: true
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nextcloud-ingress
namespace: nextcloud
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.middlewares: nextcloud-nextcloud-redirect@kubernetescrd, nextcloud-nextcloud-hsts@kubernetescrd
spec:
tls:
- hosts:
- cloud.mynest.love
secretName: nextcloud-tls
rules:
- host: cloud.mynest.love
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nextcloud-app
port:
number: 80