13 comments

[ 2.9 ms ] story [ 40.2 ms ] thread
> Bitwarden requires at least 2GB of RAM, so make sure to choose a plan with enough memory during creation

Yeah, I recalled that for-real Bitwarden uses dotnet and mssql so I'm sure Digital Ocean loves the situation where someone needs a huge instance

I was curious given the mention of "docker-compose" how exactly that worked (did it have them set with "restart: always" and similar operational sanity?) but while digging into it:

Having a self-modifying script that curls from some malware-looking domain defeats the purpose of having tagged scripts, doesn't it? https://github.com/bitwarden/server/blob/v1.48.1/scripts/bit...

Don't worry, even the redirected "self-host" version does the same trick for inexplicable reasons: https://github.com/bitwarden/self-host/blob/master/bitwarden...

I never found the docker-compose files, so I guess they're emitted as a side-effect of running the "bitwarden/setup" docker image or something: https://github.com/bitwarden/self-host/blob/master/run.sh#L1...

> requires at least 2GB of RAM

Does it checks the memory and fails with a message? What could possibly be done by a password-storing app that requires 2GB of RAM?

Possibly running MSSQL. That's the minimum RAM limit for running Dockerized MSSQL.
The stack is DotNet C# + MySql iirc. I wonder how much of that 2G is the DotNet runtime stuff
Wow. This is insanely shitty if you ask me. I can't think of any non-malicious reason why it's done this way.

I recommend using vaultwarden instead to self-host bitwarden: https://github.com/dani-garcia/vaultwarden

Vaultwarden is the way. API parity at a fraction of the footprint
And doesn’t require calling home to bitwarden (you need to register your instance with them even if self hosted)
Yeah, same here. I recently setup a localized Vaultwarden instance and it barely uses any resources. MySQL or PostgreSQL is a bit overkill as well for just a single instance, unless you plan on scaling it later on.