Hacker News new | ask | show | jobs
by dabeeeenster 2779 days ago
There's a Rust implementation of the BitWarden server which is compatible with the open source clients, that you can run really easily in Docker:

https://github.com/mprasil/bitwarden_rs

Im running it via Dokku and it has been rock solid. It's way lighter than running their reference server implementation.

5 comments

Yup, the Rust version is what I include with in HomelabOS (https://gitlab.com/NickBusey/HomelabOS).

It's been fantastic, really solid and generally pretty fast. Far, far easier than trying to get the standard Bitwarden stack going. That said, the standard stack is meant to support many users, where I have only tested the Rust implementation with a handful of users.

For reference, the official implementation uses MSSQL, and it's asking for 2GB memory instances, so I can see people liking alternatives.

https://help.bitwarden.com/article/install-on-premise/

And there are also other third party implementations too,

Go : https://github.com/VictorNine/bitwarden-go

Ruby : https://github.com/jcs/rubywarden

Personally, I don't recommend anyone without much knowledge in security to use "personal servers" to reduce threats. Even if it's in a private network, a server/container/whatever without recent security patches/proper configuration is no way more secure than well-managed public ones.
Six months or so ago, I switched from KeePassX with manual file synchronisation, to using bitwarden_rs on my own server, which runs Arch Linux, via a package on AUR. I haven’t had any trouble with it so far. The current version has been running for almost a month, and its resident memory is currently just over 11MB, viz. low and stable. That’s also roughly the size of the package and its data on disk.

I do also have the optional web interface, which isn’t Rust; it uses inordinately much memory while building (https://github.com/bitwarden/web/issues/250) but is fine after that.

I look forward to testing it.

I was using the ruby version, but I didn't know a rust one existed as well.

https://github.com/jcs/rubywarden