Self-hostDeploy & Configure

Connect to an External MSSQL Database

By default, self-hosted instances of Bitwarden will use a Microsoft SQL Server (MSSQL) database image created as a normal part of installation setup, however you configure Bitwarden to use an external MSSQL database.

note

Bitwarden only supports and recommends SQL Server 2022. Mainstream support for Server 2017 and server 2019 have ended. Deprecation of support for a specific SQL server version will be noted here and in the release notes for a given release if Bitwarden implements features that are not available on a specific version of SQL Server.

Setup external database

To setup your self-hosted instance with an external database:

  1. Create a new MSSQL database.

  2. (Recommended) Create a dedicated DBO for your database.

  3. In the global.override.env file for your server, edit the globalSettings__sqlServer__connectionString= value for the following information:

    • Replace "Data Source=tcp:mssql,1433"; with your MSSQL server name, for example "Data Source=protocol:server_url,port".

    • Replace the vault in Initial Catalog=vault; with your database name.

    • Replace the sa in User ID=sa; with your DBO User ID.

    • Replace the <default_pw> in Password=<default_pw>; with your DBO password.

  4. Save your changes to global.override.env.

  5. Start Bitwarden (./bitwarden.sh start).

Once the above steps are complete, you can test the connection by creating a new user through the web vault and querying the external vault database for creation of the new user.

Validate a server certificate

To configure Bitwarden to validate your MSSQL database server's certificate:

  1. Copy your root CA certificate into ./bwdata/ca-certificates.

  2. Run the ./bitwarden.sh restart command to apply the certificate to your containers and restart your server.