apiVersion: apps/v1 kind: Deployment metadata: name: vikunja namespace: vikunja labels: app: vikunja component: app spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: vikunja component: app template: metadata: labels: app: vikunja component: app spec: hostname: vikunja subdomain: basicstack setHostnameAsFQDN: true affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: csi.hetzner.cloud/location operator: In values: - fsn1 initContainers: - name: wait-for-postgres image: postgres:16-alpine command: - sh - -c - | until pg_isready -h vikunja-postgres -U vikunja; do echo "Waiting for PostgreSQL..." sleep 2 done securityContext: fsGroup: 1000 containers: - name: vikunja image: vikunja/vikunja:2.6.0 ports: - name: http containerPort: 3456 env: - name: VIKUNJA_SERVICE_PUBLICURL value: https://vikunja.basicstack.de/ - name: VIKUNJA_SERVICE_SECRET valueFrom: secretKeyRef: name: vikunja-app-secrets key: jwt-secret - name: VIKUNJA_SERVICE_ENABLEREGISTRATION value: "false" - name: VIKUNJA_SERVICE_TIMEZONE value: Europe/Berlin - name: VIKUNJA_DATABASE_TYPE value: postgres - name: VIKUNJA_DATABASE_HOST value: vikunja-postgres - name: VIKUNJA_DATABASE_PORT value: "5432" - name: VIKUNJA_DATABASE_DATABASE value: vikunja - name: VIKUNJA_DATABASE_USER value: vikunja - name: VIKUNJA_DATABASE_PASSWORD valueFrom: secretKeyRef: name: vikunja-db-credentials key: postgres-password - name: VIKUNJA_DATABASE_SSLMODE value: disable - name: VIKUNJA_FILES_BASEPATH value: /app/vikunja/files - name: VIKUNJA_AUTH_LOCAL_ENABLED value: "false" - name: VIKUNJA_AUTH_OPENID_ENABLED value: "true" - name: VIKUNJA_AUTH_OPENID_PROVIDERS_BASICSTACK_NAME value: BasicStack SSO - name: VIKUNJA_AUTH_OPENID_PROVIDERS_BASICSTACK_AUTHURL value: https://auth.basicstack.de - name: VIKUNJA_AUTH_OPENID_PROVIDERS_BASICSTACK_SCOPE value: openid profile email vikunja_scope - name: VIKUNJA_AUTH_OPENID_PROVIDERS_BASICSTACK_CLIENTID valueFrom: secretKeyRef: name: vikunja-oidc-secret key: client-id - name: VIKUNJA_AUTH_OPENID_PROVIDERS_BASICSTACK_CLIENTSECRET valueFrom: secretKeyRef: name: vikunja-oidc-secret key: client-secret - name: VIKUNJA_MAILER_ENABLED value: "true" - name: VIKUNJA_MAILER_HOST value: stalwart-smtp.stalwart.svc.cluster.local - name: VIKUNJA_MAILER_PORT value: "25" - name: VIKUNJA_MAILER_FORCESSL value: "false" - name: VIKUNJA_MAILER_SKIPTLSVERIFY value: "true" - name: VIKUNJA_MAILER_FROMEMAIL value: vikunja@basicstack.de resources: requests: cpu: 100m memory: 128Mi limits: cpu: "1" memory: 512Mi livenessProbe: httpGet: path: /api/v1/info port: 3456 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 readinessProbe: httpGet: path: /api/v1/info port: 3456 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 volumeMounts: - name: files mountPath: /app/vikunja/files volumes: - name: files persistentVolumeClaim: claimName: vikunja-files