Self-hostDeploy & ConfigureConfiguration Options

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

, however you configure Bitwarden to use an external MSSQL database.

note

Bitwarden only supports and recommends SQL Server 2022. Learn about the system requirements for SQL Server on

and
Linux
.

At this time, Bitwarden does not support SQL Server 2025, and mainstream support ended for Server 2017 and Server 2019. Deprecation of support for a specific SQL server version will be noted here and in the

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.