vaultwarden.yaml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ---
  2. apiVersion: v1
  3. kind: Namespace
  4. metadata:
  5. name: vaultwarden
  6. ---
  7. apiVersion: apps/v1
  8. kind: Deployment
  9. metadata:
  10. name: vaultwarden
  11. namespace: vaultwarden
  12. spec:
  13. selector:
  14. matchLabels:
  15. app: vaultwarden
  16. replicas: 1
  17. template:
  18. metadata:
  19. labels:
  20. app: vaultwarden
  21. spec:
  22. containers:
  23. - name: vaultwarden
  24. image: vaultwarden/server:1.26.0
  25. ports:
  26. - containerPort: 80
  27. name: http-web-svc
  28. envFrom:
  29. - secretRef:
  30. name: vaultwarden-secret
  31. env:
  32. - name: WEBSOCKET_ENABLED
  33. value: "true"
  34. - name: SIGNUPS_ALLOWED
  35. value: "false"
  36. volumeMounts:
  37. - mountPath: "/data"
  38. name: data
  39. livenessProbe:
  40. httpGet:
  41. path: /
  42. port: 80
  43. failureThreshold: 10
  44. initialDelaySeconds: 30
  45. periodSeconds: 10
  46. volumes:
  47. - name: data
  48. persistentVolumeClaim:
  49. claimName: vaultwarden-pvc
  50. ---
  51. apiVersion: v1
  52. kind: Service
  53. metadata:
  54. name: vaultwarden-service
  55. namespace: vaultwarden
  56. spec:
  57. selector:
  58. app: vaultwarden
  59. type: ClusterIP
  60. ports:
  61. - name: vaultwarden-web-port
  62. protocol: TCP
  63. port: 80
  64. targetPort: http-web-svc
  65. ---
  66. apiVersion: traefik.containo.us/v1alpha1
  67. kind: IngressRoute
  68. metadata:
  69. name: vaultwarden
  70. namespace: vaultwarden
  71. spec:
  72. entryPoints:
  73. - websecure
  74. routes:
  75. - kind: Rule
  76. match: Host(`vaultwarden.jibby.org`)
  77. services:
  78. - kind: Service
  79. name: vaultwarden-service
  80. port: 80