From 6af3cfe536f4ad7cc73d451cdb9078a89bf3414d Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Wed, 7 Jan 2026 13:42:05 -0800 Subject: [PATCH 01/12] add storage profile flag to docker compose commands --- docs/getting-started/server/database/ef/index.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/getting-started/server/database/ef/index.mdx b/docs/getting-started/server/database/ef/index.mdx index c337595f1..257353f43 100644 --- a/docs/getting-started/server/database/ef/index.mdx +++ b/docs/getting-started/server/database/ef/index.mdx @@ -135,10 +135,10 @@ that the changes take effect. 1. Confirm that `POSTGRES_PASSWORD` in `dev/.env` matches the password in `dev/secrets.json`. -2. In the `dev` folder of your server repository, run +2. In the `dev` folder of your server repository, run ```bash -docker compose --profile postgres up +docker compose --profile postgres --profile storage up ``` :::tip[Confirm your database connection!] @@ -157,7 +157,7 @@ Docker storage volume and initialize the database from scratch. 2. In the `dev` folder of your server repository, start your database container: ```bash -docker compose --profile mysql up +docker compose --profile mysql --profile storage up ``` :::tip[Confirm your database connection!] @@ -176,7 +176,7 @@ Docker storage volume and initialize the database from scratch. 2. In the `dev` folder of your server repository, run ```bash -docker compose --profile mariadb up +docker compose --profile mariadb --profile storage up ``` :::tip[Confirm your database connection!] @@ -209,7 +209,7 @@ permissions. Use the `ef` profile to start all EntityFramework database containers at once: ```bash -docker compose --profile ef up +docker compose --profile ef --profile storage up ``` ::: From 4fc1e765fc4c59f914525f81f8c13e5d670ecbb0 Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Thu, 8 Jan 2026 11:02:32 -0800 Subject: [PATCH 02/12] add local server setup to cli docs --- docs/getting-started/clients/cli/index.md | 39 ++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 9e4917e72..eb2155bd7 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -52,12 +52,43 @@ npm run build:oss:watch -By default, this will use the official Bitwarden servers. You can target your local server by using -the [config command](https://bitwarden.com/help/article/cli/#config). You may need to -[configure node to use your self-signed certificate](https://bitwarden.com/help/article/cli/#using-self-signed-certificates). +By default, this will use the official Bitwarden servers. If you need to develop with a Server instance running locally, follow the instructions in Environment setup below. -## Testing and Debugging +## Environment setup +### Configure Node to trust development certificates +A quick way to do this is to give Node access to your system certificates in the macOS Keychain: + +```bash +export NODE_USE_SYSTEM_CA=1 +``` + +Alternatively, you can add the certificate directly to Node by referencing it like so: + +```bash +export NODE_EXTRA_CA_CERTS=/path/to/your-certificate.pem +``` + +### Target local Server instance +If you are running the Bitwarden Web application locally, you will only need to set the base server location. This works because the web application uses Webpack to proxy API requests through to your local Server APIs. + +Run the following when you have Web running locally: + +```bash +node build/bw.js config server https://localhost:8080 +``` + +Otherwise, you need to set the individual Server API locations as follows: + +```bash +node build/bw.js config server --web-vault http://localhost:8080 \ + --api http://localhost:4000 \ + --identity http://localhost:33656 \ + --icons http://localhost:50024 \ + --notifications http://localhost:61840 +``` + +## Testing and Debugging The build is located at `build/bw.js`. You can run this with node, for example: ```bash From c16166fe268ba7a97148ffaf10c84162f8f689a7 Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Thu, 8 Jan 2026 11:09:40 -0800 Subject: [PATCH 03/12] changes --- docs/getting-started/clients/cli/index.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index eb2155bd7..090154e40 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -52,7 +52,7 @@ npm run build:oss:watch -By default, this will use the official Bitwarden servers. If you need to develop with a Server instance running locally, follow the instructions in Environment setup below. +By default, this will use the official Bitwarden servers. If you need to develop with Server running locally, follow the instructions below in Environment setup. ## Environment setup @@ -83,9 +83,7 @@ Otherwise, you need to set the individual Server API locations as follows: ```bash node build/bw.js config server --web-vault http://localhost:8080 \ --api http://localhost:4000 \ - --identity http://localhost:33656 \ - --icons http://localhost:50024 \ - --notifications http://localhost:61840 + --identity http://localhost:33656 ``` ## Testing and Debugging From 5b833b6142794f808573aeea951d02b52027d267 Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Fri, 9 Jan 2026 09:52:10 -0800 Subject: [PATCH 04/12] lint fix --- docs/getting-started/clients/cli/index.md | 12 +++++++++--- docs/getting-started/server/database/ef/index.mdx | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 090154e40..29601224b 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -52,11 +52,13 @@ npm run build:oss:watch -By default, this will use the official Bitwarden servers. If you need to develop with Server running locally, follow the instructions below in Environment setup. - +By default, this will use the official Bitwarden servers. If you need to develop with Server running +locally, follow the instructions below in Environment setup. ## Environment setup + ### Configure Node to trust development certificates + A quick way to do this is to give Node access to your system certificates in the macOS Keychain: ```bash @@ -70,7 +72,10 @@ export NODE_EXTRA_CA_CERTS=/path/to/your-certificate.pem ``` ### Target local Server instance -If you are running the Bitwarden Web application locally, you will only need to set the base server location. This works because the web application uses Webpack to proxy API requests through to your local Server APIs. + +If you are running the Bitwarden Web application locally, you will only need to set the base server +location. This works because the web application uses Webpack to proxy API requests through to your +local Server APIs. Run the following when you have Web running locally: @@ -87,6 +92,7 @@ node build/bw.js config server --web-vault http://localhost:8080 \ ``` ## Testing and Debugging + The build is located at `build/bw.js`. You can run this with node, for example: ```bash diff --git a/docs/getting-started/server/database/ef/index.mdx b/docs/getting-started/server/database/ef/index.mdx index 257353f43..b18cec055 100644 --- a/docs/getting-started/server/database/ef/index.mdx +++ b/docs/getting-started/server/database/ef/index.mdx @@ -135,7 +135,7 @@ that the changes take effect. 1. Confirm that `POSTGRES_PASSWORD` in `dev/.env` matches the password in `dev/secrets.json`. -2. In the `dev` folder of your server repository, run +2. In the `dev` folder of your server repository, run ```bash docker compose --profile postgres --profile storage up From 55fbf307b647947f5e12eed258fceca93f81545f Mon Sep 17 00:00:00 2001 From: Brad <44413459+lastbestdev@users.noreply.github.com> Date: Mon, 12 Jan 2026 09:25:55 -0800 Subject: [PATCH 05/12] Update docs/getting-started/clients/cli/index.md Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 29601224b..18fb24071 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -65,7 +65,7 @@ A quick way to do this is to give Node access to your system certificates in the export NODE_USE_SYSTEM_CA=1 ``` -Alternatively, you can add the certificate directly to Node by referencing it like so: +Alternatively, you can add the certificate directly to Node: ```bash export NODE_EXTRA_CA_CERTS=/path/to/your-certificate.pem From a5517a76d9ced906abe850a7e1093e87eda25d78 Mon Sep 17 00:00:00 2001 From: Brad <44413459+lastbestdev@users.noreply.github.com> Date: Mon, 12 Jan 2026 09:26:03 -0800 Subject: [PATCH 06/12] Update docs/getting-started/clients/cli/index.md Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 18fb24071..de32913f2 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -73,7 +73,7 @@ export NODE_EXTRA_CA_CERTS=/path/to/your-certificate.pem ### Target local Server instance -If you are running the Bitwarden Web application locally, you will only need to set the base server +If you are running the Bitwarden Web application locally, you only need to set the base server location. This works because the web application uses Webpack to proxy API requests through to your local Server APIs. From f9b70ee68eeeb9c6cc2e398ef3a2310a6545736d Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Mon, 12 Jan 2026 09:43:50 -0800 Subject: [PATCH 07/12] address comments --- docs/getting-started/server/database/ef/index.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/getting-started/server/database/ef/index.mdx b/docs/getting-started/server/database/ef/index.mdx index b18cec055..69b975106 100644 --- a/docs/getting-started/server/database/ef/index.mdx +++ b/docs/getting-started/server/database/ef/index.mdx @@ -52,7 +52,7 @@ chronological order. ### Requirements -- A working local development server +- A working local development server ([see steps](../../guide.md)) - Docker - A way to manage user secrets in the server project - see [User Secrets](../../../../contributing/user-secrets.md) @@ -138,7 +138,7 @@ that the changes take effect. 2. In the `dev` folder of your server repository, run ```bash -docker compose --profile postgres --profile storage up +docker compose --profile postgres up ``` :::tip[Confirm your database connection!] @@ -157,7 +157,7 @@ Docker storage volume and initialize the database from scratch. 2. In the `dev` folder of your server repository, start your database container: ```bash -docker compose --profile mysql --profile storage up +docker compose --profile mysql up ``` :::tip[Confirm your database connection!] @@ -176,7 +176,7 @@ Docker storage volume and initialize the database from scratch. 2. In the `dev` folder of your server repository, run ```bash -docker compose --profile mariadb --profile storage up +docker compose --profile mariadb up ``` :::tip[Confirm your database connection!] @@ -209,7 +209,7 @@ permissions. Use the `ef` profile to start all EntityFramework database containers at once: ```bash -docker compose --profile ef --profile storage up +docker compose --profile ef up ``` ::: From 916c89cde8142872b72dcc305b8b55db2292eb1c Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Mon, 12 Jan 2026 09:47:13 -0800 Subject: [PATCH 08/12] remove macOS specific wording for using system certs --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index de32913f2..7e8be3899 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -59,7 +59,7 @@ locally, follow the instructions below in Environment setup. ### Configure Node to trust development certificates -A quick way to do this is to give Node access to your system certificates in the macOS Keychain: +A quick way to do this is to give Node access to your system certificates: ```bash export NODE_USE_SYSTEM_CA=1 From 03bcf3332d99692b0ebbffec12be7cde8af71810 Mon Sep 17 00:00:00 2001 From: Brad <44413459+lastbestdev@users.noreply.github.com> Date: Mon, 12 Jan 2026 09:48:46 -0800 Subject: [PATCH 09/12] Apply suggestion from @claude[bot] Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> --- docs/getting-started/clients/cli/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 7e8be3899..7d95984b0 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -74,8 +74,7 @@ export NODE_EXTRA_CA_CERTS=/path/to/your-certificate.pem ### Target local Server instance If you are running the Bitwarden Web application locally, you only need to set the base server -location. This works because the web application uses Webpack to proxy API requests through to your -local Server APIs. +location. The web application proxies API requests to your local Server APIs. Run the following when you have Web running locally: From c7285cceee998c9ad2b8b21ffeb029b83b932ee3 Mon Sep 17 00:00:00 2001 From: Brad <44413459+lastbestdev@users.noreply.github.com> Date: Tue, 13 Jan 2026 11:01:08 -0800 Subject: [PATCH 10/12] Apply suggestion from @eliykat Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 7d95984b0..87dc54bfe 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -85,7 +85,7 @@ node build/bw.js config server https://localhost:8080 Otherwise, you need to set the individual Server API locations as follows: ```bash -node build/bw.js config server --web-vault http://localhost:8080 \ +node build/bw.js config server \ --api http://localhost:4000 \ --identity http://localhost:33656 ``` From abc1018a03a08a5f5211c78adaddf246e2d3e75a Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Tue, 13 Jan 2026 15:29:18 -0800 Subject: [PATCH 11/12] test --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 87dc54bfe..35b23f8c5 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -85,7 +85,7 @@ node build/bw.js config server https://localhost:8080 Otherwise, you need to set the individual Server API locations as follows: ```bash -node build/bw.js config server \ +node build/bw.js config server \ --api http://localhost:4000 \ --identity http://localhost:33656 ``` From ae8f6379fbb9dd07bdf52a633f0585de2d227364 Mon Sep 17 00:00:00 2001 From: Brad Deibert Date: Tue, 13 Jan 2026 15:29:37 -0800 Subject: [PATCH 12/12] undo --- docs/getting-started/clients/cli/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/clients/cli/index.md b/docs/getting-started/clients/cli/index.md index 35b23f8c5..87dc54bfe 100644 --- a/docs/getting-started/clients/cli/index.md +++ b/docs/getting-started/clients/cli/index.md @@ -85,7 +85,7 @@ node build/bw.js config server https://localhost:8080 Otherwise, you need to set the individual Server API locations as follows: ```bash -node build/bw.js config server \ +node build/bw.js config server \ --api http://localhost:4000 \ --identity http://localhost:33656 ```