I’m a long time user of KeePass and many of its (unofficial) ports, like KeePassDroid for Android. However, even though I’m completely satisfied with KeePass, the other users, also known as a family, where not so content. The problem is, with KeePass sharing some of your secrets is not too easy. Making sure that the secrets are available is one problem, too, although quite easily solved with Nextcloud and similar solutions.

The official Bitwarden service is limited to two users on its free tier. This is very good for a couple, but it falls short, when you have children. Bitwarden offers Docker images, but unfortunately they are for x64 only. Fortunately, Daniel Garcia has created Bitwarden server API implementation written in Rust. It’s unofficial, but it is compatible with the upstream Bitwarden clients. This makes it ideal for my Pi Cluster, as it doesn’t require as much resources as the official one.

Gissilabs hosts a Helm chart for the installation.

helm repo add gissilabs https://gissilabs.github.io/charts/
helm repo update
kubectl create namespace bitwardenrs
helm show values gissilabs/bitwardenrs >> bitwarden.values.yml
helm install bitwardenrs gissilabs/bitwardenrs --namespace bitwardenrs --values bitwarden.values.yml

Remember to put the admin token inside the values file. This token is needed to enter the admin portal, where you can invite users to your Bitwarden instance.

Migrating from KeePass to Bitwarden was manual, but simple process. In KeePass I had everything in one file (don’t ask). To separate the passwords for different users I had to export KeePass XML files for all the users and then import them one by one with different Bitwarden users.