titan-iac/services/nextcloud/collabora.yaml

81 lines
1.8 KiB
YAML

# services/nextcloud/collabora.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: collabora
namespace: nextcloud
labels:
app: collabora
spec:
replicas: 1
selector:
matchLabels:
app: collabora
template:
metadata:
labels:
app: collabora
spec:
nodeSelector:
hardware: rpi5
containers:
- name: collabora
image: collabora/code@sha256:3c58d0e9bae75e4647467d0c7d91cb66f261d3e814709aed590b5c334a04db26
imagePullPolicy: IfNotPresent
env:
- name: domain
value: cloud\\.bstein\\.dev
- name: DONT_GEN_SSL_CERT
value: "true"
- name: extra_params
value: --o:ssl.enable=false --o:ssl.termination=true
ports:
- containerPort: 9980
name: http
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: 1
memory: 2Gi
---
apiVersion: v1
kind: Service
metadata:
name: collabora
namespace: nextcloud
spec:
selector:
app: collabora
ports:
- name: http
port: 9980
targetPort: http
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: collabora
namespace: nextcloud
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
tls:
- hosts:
- office.bstein.dev
secretName: collabora-tls
rules:
- host: office.bstein.dev
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: collabora
port:
number: 9980