Multiple User, Multiple Databases?

Hi everyone,

first of all: I’m pretty new to Bitwarden so I may can happen that some of stuff I’m about to be asking is already answered.
So, let’s get to it.

1: My Plan is to self-host Bitwarden, either in a docker container or on a Linux Vm. Nonetheless, I’d like to run my own database separate from Bitwarden. Is there a way to tell it to use a different database, i.e MariaDB?

2: And speaking of a different database: If I have 2 Users, how many Databases do I need? Cause from my understanding, I’d need at least 2, right? Does this mean Bitwarden, if installed on Linux as an example, creates its on database times how many users u have and thus, creates a lot of resource hunger, so to speak?

3: What does Bitwarden install in total, i.e Do you need everything it wants to install or can u shrink it/modify it?

4: If I want to have my Work and Private Passwords Split, do I need to create 2 separate Users for, each with their own database?

I know this might be a bit too much to ask on a Community Forum but maybe someone else has similar Interest, what can be done.

Cheers and Thanks in advance.

Hello @deltaexray and welcome to the community,

There are a few ways to roll out your own self-hosted instance of Bitwarden. Depending on your use case, and requirements. I’ll do my best to answer your questions here.

  1. The typical Bitwarden install uses an mssql database, though there is a very new and recent Bitwarden Unified beta available which allows for Bitwarden to be self-hosted with the use of an alternative backend database.

Though I would caution that is still in beta at the moment, so you may wish to test but it may not be stable enough to recommend for production use if you will be utilizing this daily as your main password manager with multiple users, at least without several different back up methods.
Otherwise I recommend going with the tried and true methods of the current standard install method.

  1. You will still only need a singular database for Bitwarden with either installation method.
    Users are handled within the database by Bitwarden. Each users password vault is essentially an encrypted “blob” of data in the database.
    Though I’m not sure if these are stored as separate tables or what specifically.

The Bitwarden Unified Beta is aimed specifically for a few things, one being lighter resource useage and being able to run on ARM architecture types.
Though the standard Bitwarden install is not very “intensive” to really speak of. If you have a decent server to host you should be fine.

System specifications

Minimum Recommended
Processor x64, 1.4GHz x64, 2GHz dual core
Memory 2GB RAM 4GB RAM
Storage 12GB 25GB
Docker Version Engine 19+ and Compose 1.24+ Engine 19+ and Compose 1.24+

  1. The standard Bitwarden install method does install quite a bit, IIRC ~11 containers in total. This was part of the reason for the new development of the Bitwarden Unified Beta.
    Some things can be configured but overall this is simply changing post install conf.yml options or by changing environment variables.

There are some more advanced install methods such as the manual docker stub install. Though I would highly recommend you familiarize yourself with Bitwarden’s install options and self-hosting prior to rolling out this method. But this does allow for further customization.

  1. As mentioned even if you have multiple users you will still only need the single database, though Bitwarden does recommend the usage of separate accounts for personal and work as noted in the enterprise family sponsorship article.

:bulb: Tip

If you already have a separate personal Bitwarden account, use the email address attached to that account. If you don’t already have a separate personal Bitwarden account, you will need to create one with the personal email you enter here. Do not use the email address or Bitwarden account attached to the sponsoring organization.

Though this greatly depends on your workflow, for though self-employed or sole-proprietor business types I imagine could use one personal account without issue.
Though for me personally I prefer to separate my personal logins with my personal email, and my work logins and accounts with my work email.
This is easily handled currently with Bitwarden’s Account Switching feature. Though I would also note, this is not currently available on all platforms, notably the browser extension but this can be worked around with the use of browser profiles or different browsers as noted

I hope this answered just about everything, let me know if I missed anything or feel free to respond back if you have anything else further.
-Cheers :slight_smile:

First of all: Thank you for taking time and replying, means a lot to me:)

Now to business:

  1. I guess I was to tired to figure out, how to get and MsSql Database working on UnRaid, which I now have, so that question really answered itself already. Since u’ve already said it too, I wouldn’t want to run that kind of beta a daily anyway, I new stability.

  2. Thank you for that Info. I really thought I need a separate Database for EACH User which would have been an enormous hassle.

  3. I did some additional research today and yeah, it does quite install a lot but that should somehow be fine. The main reason I’ve asked that that it is the plan to install it as a docker on UnRaid so I might just have to figure out how that will go.

  4. Yeah I’ll take a look at that.

U did answer everything I wanted to know. Now it’s just getting Bitwarden on UnRaid and not using the Fork Vaultwarden. Since there’s no pre made docker available I need to get a bit creative but it should work.

Thank you again and Cheers :slight_smile: