From 09ba0911f60353c8fa8408345bce1b26fe17809f Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Wed, 12 Jul 2023 09:12:03 -0700 Subject: [PATCH 1/4] add devcontainer setup docs --- .../server/database/_category_.yml | 2 +- docs/getting-started/server/guide-vscode.md | 267 ++++++++++++++++++ docs/getting-started/server/guide.md | 7 + .../server/reopen-in-container.png | Bin 0 -> 57466 bytes .../server/select-container-configuration.png | Bin 0 -> 37622 bytes 5 files changed, 275 insertions(+), 1 deletion(-) create mode 100644 docs/getting-started/server/guide-vscode.md create mode 100644 docs/getting-started/server/reopen-in-container.png create mode 100644 docs/getting-started/server/select-container-configuration.png diff --git a/docs/getting-started/server/database/_category_.yml b/docs/getting-started/server/database/_category_.yml index f7753b2a..2e51b527 100644 --- a/docs/getting-started/server/database/_category_.yml +++ b/docs/getting-started/server/database/_category_.yml @@ -1,2 +1,2 @@ label: "Databases" -position: 2 +position: 3 diff --git a/docs/getting-started/server/guide-vscode.md b/docs/getting-started/server/guide-vscode.md new file mode 100644 index 00000000..976db1b3 --- /dev/null +++ b/docs/getting-started/server/guide-vscode.md @@ -0,0 +1,267 @@ +--- +sidebar_position: 2 +--- + +# VS Code Dev Containers + +This page will show you how to set up a local Bitwarden server for development purposes utilizing +Visual Studio Code Dev Containers. You can read more about this in the +[Visual Studio Code Dev Containers documentation](https://code.visualstudio.com/docs/devcontainers/containers). + +The Bitwarden server is comprised of several services that can run independently. For a basic +development setup, you will need the **Admin**, **Api**, and **Identity** services. + +:::info + +Before you start: make sure you’ve installed the recommended +[Tools and Libraries](../tools/index.md). Namely, the following: + +- Docker Desktop +- [Visual Studio Code](https://code.visualstudio.com/) +- Azure Data Studio + +::: + +## Clone the repository + +1. Clone the Bitwarden Server project: + + ```bash + git clone https://github.com/bitwarden/server.git + ``` + +2. Open a terminal and navigate to the root of the cloned repository. + +:::caution + +When first opening the repository in Visual Studio Code, you will be prompted to reopen the folder +in a Dev Container. If you have not completed the steps in the +[Configure Env File](#configure-env-file) section below, the creation of the Dev Container will +fail. + +::: + +## Configure Git + +1. Configure Git to ignore the Prettier revision: + + ```bash + git config blame.ignoreRevsFile .git-blame-ignore-revs + ``` + +2. _(Optional)_ Set up the pre-commit `dotnet format` hook: + + ```bash + git config --local core.hooksPath .git-hooks + ``` + + Formatting requires a full build, which may be too slow to do every commit. As an alternative, + you can run `dotnet format` from the command line when convenient (e.g. before requesting a PR + review). + +## Configure Env File + +The Dev Container will automatically load the environment variables from the values in `dev/.env`. +To get started, copy the example file: + +1. ```bash + cd dev + cp .env.example .env + ``` + +2. Open `.env` with your preferred editor. + +3. Set the `MSSQL_SA_PASSWORD` variable. This will be the password for your MSSQL database server. + +:::caution + +Your MSSQL password must comply with the following +[password complexity guidelines](https://docs.microsoft.com/en-us/sql/relational-databases/security/password-policy?view=sql-server-ver15#password-complexity) + +- It must be at least eight characters long. +- It must contain characters from three of the following four categories: +- Latin uppercase letters (A through Z) +- Latin lowercase letters (a through z) +- Base 10 digits (0 through 9) +- Non-alphanumeric characters such as: exclamation point (!), dollar sign ($), number sign (#), or + percent (%). + +::: + +4. You can change the other variables or use their default values. Save and quit this file. + +### SQL Server + +In order to support ARM based development environments such as the M1 Macs, we use the +[Azure SQL Edge](https://hub.docker.com/_/microsoft-azure-sql-edge) docker container instead of a +normal [Microsoft SQL Server](https://hub.docker.com/_/microsoft-mssql-server) container. It behaves +mostly identical to a regular SQL Server instance and runs on port 1433. + +You can connect to it using Azure Data Studio using the following credentials: + +- Server: localhost +- Username: sa +- Password: (the password you set in `dev/.env`) + +### Mailcatcher + +The server uses emails for many user interactions. We provide a pre-configured instance of +[MailCatcher](https://mailcatcher.me/), which catches any outbound email and prevents it from being +sent to real email addresses. You can open its web interface at +[http://localhost:1080](http://localhost:1080). + +## Configure User Secrets + +[User secrets](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-6.0) +are a method for managing application settings on a per-developer basis. They override the settings +in `appSettings.json` of each project. Your user secrets file should match the structure of the +`appSettings.json` file for the settings you intend to override. + +We provide a helper script which simplifies setting user secrets for all projects in the server +repository. + +1. Get a template `secrets.json`. We need to get an initial version of `secrets.json`, which you + will modify for your own secrets values. + + + + - Copy the user secrets file from the shared Development collection into the `dev` folder. + - If you don't have access to the Development collection, contact our IT Manager to arrange + access. Make sure you have first set up a Bitwarden account using your company email address. + - This `secrets.json` is configured to use the dockerized Azurite and MailCatcher instances and + is recommended for this guide. + + + +2. Update `secrets.json` with your own values: + + - `sqlServer` > `connectionString`: insert your password where indicated + - `identityServer` > `certificateThumbprint`: insert your Identity certificate thumbprint from + the previous step + - `dataProtection` > `certificateThumbprint`: insert your Data Protection certificate thumbprint + from the previous step + + + + - `installation` > `id` and `key`: + [request a hosting installation Id and Key](https://bitwarden.com/host/) and insert them here + - `licenseDirectory`: set this to an empty directory, this is where uploaded license files will + be stored. + + + +3. Once you have your `secrets.json` complete, proceed to + [Starting the Dev Container Environment](#starting-the-dev-container-environment). + +## Starting the Dev Container Environment + +You are now ready to build and run your development server. + +1. Start the Dev Container by opening the Command Palette (Ctrl/Command+Shift+P) and selecting + **Dev Containers: Reopen in Container**: + + ![Reopen in Container](reopen-in-container.png) + +2. Select the appropriate dev container configuration: + + ![Select container configuration](select-container-configuration.png) + +3. Wait for the container to build and start. The first time you open the container, it will take a + few minutes to build. + +4. Once the container has finished building for the first time, you will be greeted with the + `postCreateCommand` script, which will walk you through generating and applying any additional + secrets or certificates required for the server to run. + +5. Follow the on-screen prompts to finish setting up the server. Then, proceed to + [Build and Run the Server](#build-and-run-the-server). + +## Build and Run the Server + +You are now ready to build and run your development server. + +1. Open a new terminal window in the root of the repository. +2. Restore the nuget packages required for the Identity service: + + ```bash + cd src/Identity + dotnet restore + ``` + +3. Start the Identity service: + + ```bash + dotnet run + ``` + +4. Test that the Identity service is alive by navigating to + [http://localhost:33656/.well-known/openid-configuration](http://localhost:33656/.well-known/openid-configuration) +5. In another terminal window, restore the nuget packages required for the Api service: + + ```bash + cd src/Api + dotnet restore + ``` + +6. Start the Api Service: + + ```bash + dotnet run + ``` + +7. Test that the Api service is alive by navigating to + [http://localhost:4000/alive](http://localhost:4000/alive) +8. Connect a client to your local server by configuring the client’s Api and Identity endpoints. + Refer to + [https://bitwarden.com/help/article/change-client-environment/](https://bitwarden.com/help/article/change-client-environment/) + and the instructions for each client in the Contributing Documentation. + +:::info + +If you cannot connect to the Api or Identity projects, check the terminal output to confirm the +ports they are running on. + +::: + +:::note + +We recommend continuing with the [Web Vault](../clients/web-vault/index.mdx) afterwards, since many +administrative operations can only be performed in it. + +::: + +## Debugging + +You can use the debugger in Visual Studio Code to debug the server by following these steps: + +1. Click the "Debug and Run" button in the left sidebar of Visual Studio Code. + +2. Select the desired debug configuration from the dropdown menu. + +3. Click the "Start Debugging" button to start the debugger. + +## Managing and updating the Dev Containers + +After you’ve run the deployed the Dev Containers, you can use the +[Docker Dashboard](https://docs.docker.com/desktop/dashboard/) or `docker` CLI to manage your +containers. You should see your containers running under the `bitwarden_common` group. + +:::caution + +Changing `MSSQL_SA_PASSWORD` variable after first running the Dev Containers will require a +re-creation of the storage volume. + +**Warning: this will delete your development database.** + +To do this, exit the Dev Containers and run the following commands from the +`./.devcontainer/bitwarden_common` directory: + +```bash +docker compose down +docker volume rm bitwarden_common-bitwarden_mssql-1 +``` + +After that, you can re-open the Dev Containers in Visual Studio Code and the database will be +recreated with the new password. + +::: diff --git a/docs/getting-started/server/guide.md b/docs/getting-started/server/guide.md index 1bb82341..69761ae5 100644 --- a/docs/getting-started/server/guide.md +++ b/docs/getting-started/server/guide.md @@ -22,6 +22,13 @@ Before you start: make sure you’ve installed the recommended ::: +:::info + +A guide for developing in VS Code Dev containers can be found [here](./guide-vscode) if you prefer +developing in a containerized environment. + +::: + ## Clone the repository 1. Clone the Bitwarden Server project: diff --git a/docs/getting-started/server/reopen-in-container.png b/docs/getting-started/server/reopen-in-container.png new file mode 100644 index 0000000000000000000000000000000000000000..a1d1bf8064b0b39d9e458ce1936914082f590f10 GIT binary patch literal 57466 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�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 z z{*Q!X69;bnLU1W4BmvE#rb}pO3ZVdZwoL?(?on>jzv8T*N=jfLw_;XTC;J?3DX!iJ zY$$@}u#)7mo2iVF78r(5=}a?_A?+^4_1B^g!TVV z#DaCD1XcF+7(U*1#qkIC5BUeF@` zVlFPa@;-b!i|cK+YP4>(%#$j$VPDGx8ie*^XGrJ*-tm}lx{!!4$?o@JDKpvcOCgV+ z0ExtQktEL=V;>L>VwK>0liOK}4mz3ULH^&WtFzlddhMwlYH4<7ey|+JahAWfyvWPG zT@H28W7z5^sj5@&U^V5$mZkYZu|lm~au+7lvDmpLYlwq)5EOp@U9(4g=3i!VknpHll1e0dr$sMITy8kr&ijP0oPO0mVG&hf@f$UGPDZOkN%^v zhaz4&WOg^5Z6FrpP$D7wvs)DBkNy-Cl>J^@zQ>bl`l->Etc7qT4l0M@F-ZfR5$7eZ z6pW9P4X6XdIb46og2&v_yn9=IJM-2$Hj8oX({JR?))VYdVG*$(Z*IVB@R*EChbL9? z{VqR@sjJ{ly1I3~Ai1*;tyzkhf!w_;5Rr$e5^teaq=Y)k+{+|OG3ltI zm!EdTZrz)ow|4Irjlo1;0{<)N+YlA8RQP^n;BE5fx-A>)@s5o=%$MLOp8Jjx$RM8Jjo`$Ta z;|x5-%4D6*hvh_AP))7MVD8gn-Z>bBDX+~_2P+OCGU&A1L>?V3zSKa`T05a%)jeEI jU{xvk@GYX#STCPT3bVqiczxRj5b#3$dir>&JvQlY`F!35 literal 0 HcmV?d00001 From 1d2d52eab9fe3075b1e6d99560b3b88be888370c Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:30:34 -0700 Subject: [PATCH 2/4] "containers" -> "Containers" --- docs/getting-started/server/guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/server/guide.md b/docs/getting-started/server/guide.md index 69761ae5..7d400471 100644 --- a/docs/getting-started/server/guide.md +++ b/docs/getting-started/server/guide.md @@ -24,7 +24,7 @@ Before you start: make sure you’ve installed the recommended :::info -A guide for developing in VS Code Dev containers can be found [here](./guide-vscode) if you prefer +A guide for developing in VS Code Dev Containers can be found [here](./guide-vscode) if you prefer developing in a containerized environment. ::: From 24b5d6a3fd25de255dedfc2a572fbc44d16ffd6b Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:35:18 -0700 Subject: [PATCH 3/4] update language + formatting around DB recreation --- docs/getting-started/server/guide-vscode.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/getting-started/server/guide-vscode.md b/docs/getting-started/server/guide-vscode.md index 976db1b3..251acf5d 100644 --- a/docs/getting-started/server/guide-vscode.md +++ b/docs/getting-started/server/guide-vscode.md @@ -246,14 +246,16 @@ After you’ve run the deployed the Dev Containers, you can use the [Docker Dashboard](https://docs.docker.com/desktop/dashboard/) or `docker` CLI to manage your containers. You should see your containers running under the `bitwarden_common` group. -:::caution +### Changing the DB Password Changing `MSSQL_SA_PASSWORD` variable after first running the Dev Containers will require a re-creation of the storage volume. -**Warning: this will delete your development database.** +:::warning + +**The following will delete your development database.** -To do this, exit the Dev Containers and run the following commands from the +To do this, stop any running server processes and run the following commands from the `./.devcontainer/bitwarden_common` directory: ```bash @@ -261,7 +263,8 @@ docker compose down docker volume rm bitwarden_common-bitwarden_mssql-1 ``` -After that, you can re-open the Dev Containers in Visual Studio Code and the database will be -recreated with the new password. - ::: + +After destroying the DB volume, you can rebuild the Dev Containers in Visual Studio Code and the +database using the VS Code Command Palette (Ctrl/Command+Shift+P) and selecting **Dev Containers: +Rebuild Container**. From 8dc51e9b4ed5fd7e051238f69bba83acd7203fad Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Wed, 12 Jul 2023 12:09:40 -0700 Subject: [PATCH 4/4] Fix link to Web Vault --- docs/getting-started/server/guide-vscode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/server/guide-vscode.md b/docs/getting-started/server/guide-vscode.md index 251acf5d..d6277af3 100644 --- a/docs/getting-started/server/guide-vscode.md +++ b/docs/getting-started/server/guide-vscode.md @@ -225,7 +225,7 @@ ports they are running on. :::note -We recommend continuing with the [Web Vault](../clients/web-vault/index.mdx) afterwards, since many +We recommend continuing with the [Web Vault](../clients/web-vault) afterwards, since many administrative operations can only be performed in it. :::