Vaultwarden¶
Vaultwarden password manager, a server for the Bitwarden apps and browser extensions
| Chart | vaultwarden |
| Version | 0.1.3 |
| Application version | 1.37.3 |
| Kind | Application |
| Source | charts/vaultwarden |
The values are listed under Values, the changes per version under Changelog.
Purpose¶
Vaultwarden: a password manager server for the Bitwarden apps, browser extensions and web vault. The chart runs the upstream image with one data volume. The database is SQLite on that volume, so the release needs no database server.
Install¶
helm repo add grncloud https://apps.openshift.eu
helm install vaultwarden grncloud/vaultwarden
Install one release per project. Open the web vault and the admin page with:
oc get route vaultwarden -o jsonpath='https://{.spec.host}{"\n"}'
oc get secret vaultwarden-credentials -o jsonpath='{.data.admin-token}' | base64 -d
Registration is closed on a new instance. To create the first account:
- Open
https://<host>/adminand enter the admin token. - On the page Users, invite your mail address.
- Open
https://<host>, choose Create account and register with that address.
Invite every further user the same way, or let an organisation owner invite them. An invited address can register without a mail server.
| Value | Default | Meaning |
|---|---|---|
route.hostname |
empty | Hostname. Empty: OpenShift assigns one. |
persistence.size |
5Gi |
Size of the data volume. |
signups.allowed |
false |
true lets everyone who reaches the address register. |
signups.domains |
empty | Mail domains that may register without an invitation. |
smtp.host |
empty | Mail server for invitations, verification and password hints. |
secrets.type |
kubernetes |
externalSecret reads the secrets from a secret store. |
secrets.adminToken |
empty | Token of the admin page. Empty: generated. |
extraEnv |
empty | Further Vaultwarden settings as environment variables. |
Vaultwarden must know its own address (DOMAIN) for passkeys and for links in mails.
With route.hostname set, the chart uses that name. With an empty hostname the pod reads
the host that OpenShift assigned to the Route at every start; for that the chart adds a
ServiceAccount that may read this one Route.
The generated admin token is a random string of 48 characters, stored as plain text in
the Secret. Vaultwarden logs a notice about that. For a hashed token, run
vaultwarden hash in the pod and set the Argon2 string it prints as
secrets.adminToken; you then log in with the password you typed.
The token is generated at the first install and kept on every upgrade with
helm upgrade. A tool that renders the chart without access to the cluster, such as
Argo CD or helm template, generates a new value on every render: set the token there.
The data volume holds every vault. Back it up, and keep the volume when you remove the
release: helm uninstall deletes it.
Delivery instructions¶
- A hostname outside the default application domain needs a DNS record pointing at the platform's ingress. Ask the platform team for the target; the certificate follows automatically once the name resolves.
- Outgoing mail needs a mail server that accepts the sender address. Ask the platform team for a mailbox or a relay when you have none.
- Single sign-on needs a client at the identity provider. Ask the platform team for the
client, then set the
SSO_*settings of Vaultwarden withextraEnv. - With
secrets.type=externalSecret, create the items named insecrets.externalSecret.itemsin your vault collection with the value in the password field, and setsecrets.externalSecret.storeNameto your store.