--- apiVersion: apps/v1 kind: Deployment metadata: name: gitea namespace: default spec: replicas: 1 selector: matchLabels: app: gitea template: metadata: labels: app: gitea spec: initContainers: - name: wait-for-db image: busybox command: - sh - -c - | until nc -z -v -w30 gitea-db-service 5432; do echo "Waiting for database to be ready..." sleep 2 done containers: - name: gitea image: gitea/gitea:1.23.7 ports: - containerPort: 22 - containerPort: 3000 securityContext: capabilities: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 env: - name: USER_UID value: "1000" - name: USER_GID value: "1000" - name: GITEA__database__DB_TYPE value: "postgres" - name: GITEA__database__HOST value: "gitea-db-service: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 - name: TMPDIR value: "/tmp" 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