--- apiVersion: apps/v1 kind: Deployment metadata: name: gitea-app namespace: default spec: replicas: 1 selector: matchLabels: app: gitea-app template: metadata: labels: app: gitea-app spec: initContainers: - name: init-cleanup image: busybox command: ["rm", "-rf", "/var/lib/postgresql/data/lost+found"] volumeMounts: - name: db mountPath: /var/lib/postgresql/data - name: gitea-db image: postgres:15.10 restartPolicy: Always env: - name: POSTGRES_USER value: "gitea" - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: gitea-db-secret key: password - name: POSTGRES_DB value: "gitea" volumeMounts: - name: db mountPath: /var/lib/postgresql/data containers: - name: gitea image: gitea/gitea:1.23.8 ports: - containerPort: 22 - containerPort: 3000 env: - name: USER_UID value: "1000" - name: USER_GID value: "1000" - name: GITEA__database__DB_TYPE value: "postgres" - name: GITEA__database__HOST value: "localhost:5432" - name: GITEA__database__NAME value: "gitea" - name: GITEA__database__USER value: "gitea" - name: GITEA__database__PASSWD valueFrom: secretKeyRef: name: gitea-db-secret key: password volumeMounts: - name: gitea-data mountPath: /data subPath: gitea-data - name: timezone mountPath: /etc/timezone - name: localtime mountPath: /etc/localtime volumes: - name: timezone hostPath: path: /etc/timezone type: File - name: localtime hostPath: path: /etc/localtime type: File - name: gitea-data persistentVolumeClaim: claimName: longhorn-gitea - name: db persistentVolumeClaim: claimName: longhorn-gitea-db