--- apiVersion: apps/v1 kind: StatefulSet metadata: name: nextcloud-onlyoffice namespace: kube-public labels: app: nextcloud-onlyoffice spec: replicas: 1 selector: matchLabels: app: nextcloud-onlyoffice template: metadata: labels: app: nextcloud-onlyoffice spec: terminationGracePeriodSeconds: 60 containers: - name: nextcloud-onlyoffice image: harbor.uenpay.com/base/onlyoffice #image: onlyoffice/documentserver imagePullPolicy: IfNotPresent ports: - containerPort: 80 env: - name: JWT_ENABLED value: "true" - name: JWT_SECRET value: NextCloud2024 readinessProbe: tcpSocket: port: 80 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 30 failureThreshold: 10 livenessProbe: tcpSocket: port: 80 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 3 failureThreshold: 1 resources: limits: cpu: 1 memory: 2Gi requests: cpu: 200m memory: 500Mi volumeMounts: - name: data mountPath: /var/lib/postgresql volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 30Gi --- apiVersion: v1 kind: Service metadata: name: nextcloud-onlyoffice namespace: kube-public labels: app: nextcloud-onlyoffice spec: selector: app: nextcloud-onlyoffice ports: - name: nextcloud-onlyoffice port: 80 protocol: TCP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/client-max-body-size: 1024m nginx.ingress.kubernetes.io/proxy-body-size: 1024m nginx.ingress.kubernetes.io/proxy-connect-timeout: '300' nginx.ingress.kubernetes.io/proxy-read-timeout: '300' nginx.ingress.kubernetes.io/proxy-send-timeout: '300' nginx.ingress.kubernetes.io/ssl-redirect: 'false' name: office.uenpay.com-ingress namespace: kube-public spec: ingressClassName: nginx rules: - host: office.uenpay.com http: paths: - backend: service: name: nextcloud-onlyoffice port: number: 80 path: / pathType: Prefix tls: - hosts: - office.uenpay.com secretName: uenpay.com