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.
To setup your self-hosted instance with an external database:
Create a new MSSQL database.
(Recommended) Create a dedicated DBO for your database.
In the
global.override.env
file for your server, edit theglobalSettings__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
inInitial Catalog=vault
; with your database name.Replace the
sa
inUser ID=sa;
with your DBO User ID.Replace the
<default_pw>
inPassword=<default_pw>;
with your DBO password.
Save your changes to
global.override.env
.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.
To configure Bitwarden to validate your MSSQL database server's certificate:
Copy your root CA certificate into
./bwdata/ca-certificates
.Run the
./bitwarden.sh restart
command to apply the certificate to your containers and restart your server.