apiVersion: apps/v1 kind: Deployment metadata: name: vaultwarden spec: replicas: 1 selector: matchLabels: app: vaultwarden template: metadata: labels: app: vaultwarden spec: nodeSelector: role: sebastianscode containers: - name: vaultwarden image: vaultwarden/server:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 env: - name: ADMIN_TOKEN valueFrom: secretKeyRef: name: vaultwarden-secrets key: ADMIN_TOKEN - name: DATA_FOLDER value: /data - name: SMTP_HOST value: "smtp.gmail.com" - name: SMTP_PORT value: "587" - name: SMTP_SECURITY value: "starttls" - name: SMTP_USERNAME value: "sebastiansrasppi@gmail.com" - name: SMTP_FROM value: "sebastiansrasppi@gmail.com" - name: SMTP_PASSWORD valueFrom: secretKeyRef: name: vaultwarden-smtp-secret key: SMTP_PASSWORD # Optional but recommended - name: WEBSOCKET_ENABLED value: "true" - name: SIGNUPS_ALLOWED value: "false" - name: ROCKET_PORT value: "80" volumeMounts: - name: vaultwarden-data mountPath: /data readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 10 periodSeconds: 10 livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 30 periodSeconds: 30 volumes: - name: vaultwarden-data persistentVolumeClaim: claimName: vaultwarden-data