apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data-bookstack namespace: tools spec: accessModes: - ReadWriteMany resources: requests: storage: 100Gi storageClassName: cephfs-sc --- kind: Deployment apiVersion: apps/v1 metadata: name: bookstack namespace: tools spec: replicas: 1 selector: matchLabels: app: bookstack template: metadata: labels: app: bookstack spec: containers: - name: bookstack image: harbor.uenpay.com/base/bookstack:22.04 #image: 'solidnerd/bookstack:22.04' ports: - name: web containerPort: 8080 protocol: TCP env: - name: DB_HOST value: mysql-bookstack:3306 - name: DB_DATABASE value: 'bookstack' - name: DB_USERNAME value: bookstack - name: DB_PASSWORD value: bookstack - name: APP_URL value: "https://bookstack.uenpay.com" resources: limits: cpu: '2' memory: 4Gi requests: cpu: 2 memory: 4Gi volumeMounts: - name: data mountPath: /var/www/bookstack imagePullPolicy: IfNotPresent volumes: - name: data persistentVolumeClaim: claimName: data-bookstack restartPolicy: Always terminationGracePeriodSeconds: 30 --- kind: Service apiVersion: v1 metadata: name: bookstack namespace: tools labels: app: bookstack spec: ports: - name: web protocol: TCP port: 8080 targetPort: 8080 selector: app: bookstack --- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: bookstack.uenpay.com-ingress namespace: tools annotations: 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' spec: ingressClassName: nginx rules: - host: bookstack.uenpay.com http: paths: - path: / pathType: Prefix backend: service: name: bookstack port: number: 8080 tls: - hosts: - bookstack.uenpay.com secretName: uenpay.com