Skip to content

docs: make Aspire the recommended server setup path - #889

Open
withinfocus wants to merge 3 commits into
mainfrom
docs/server-aspire-setup
Open

withinfocus wants to merge 3 commits into
mainfrom
docs/server-aspire-setup

Conversation

@withinfocus

@withinfocus withinfocus commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

🎟️ Tracking

Follows bitwarden/server#6775, which added the Aspire AppHost, and its follow-ups: bitwarden/server#7646, bitwarden/server#7670, bitwarden/server#7731, bitwarden/server#7803, bitwarden/server#8082 and bitwarden/server#8319.

📔 Objective

The server setup guides only described the manual setup: start Docker Compose, run the helper scripts, then launch each service yourself. This PR documents Aspire as the recommended way to run the server locally and keeps the manual setup as the alternative.

Setup Guide

  • Clone, Git config and user secrets are now shared by both paths. The SQL Server password rules moved into the user secrets step, since both paths use that password.
  • New "Run with Aspire" section: stopping old Compose containers, the Az module, trusting the dev certificate, the Database:Password user secret, starting the AppHost, the dashboard, resources you start by hand, and common settings.
  • The Docker Compose, migration and manual run steps moved to a new Manual Setup page (manual-setup.md), so the Setup Guide only covers Aspire. SQL Server, Mailcatcher, Redis and Azurite moved to a shared "Local services" section. #mailcatcher and #azurite still resolve on the Setup Guide, and the link to #create-database now points at the Manual Setup page.
  • Aspire runs setup_secrets.ps1 -clear on every start, so the guide tells readers to put changes in dev/secrets.json rather than on individual projects.

Other pages

  • Self-hosted: an Aspire tab using SelfHost and Database:SelfHostPassword.
  • SSO: Aspire configures the IdP through the Parameters:sso-org-id user secret instead of .env.
  • Ingress tunnels: the AppHost's ngrok plugin for the Billing webhook.
  • MSSQL, Events, Portal, SCIM and Advanced setup: notes on what Aspire runs for you, and where it doesn't apply (the Service Bus emulator, the reverse proxy).
  • Entity Framework: start the database container with Compose next to Aspire.
  • Troubleshooting: a new Aspire section.

Broken anchors

The build flagged #install-licensing-certificate on the Setup Guide and #authorization on the Portal page. Both headings sat inside <Bitwarden> blocks, and SSR renders community mode, so the table of contents linked to headings that weren't in the HTML. The licensing certificate is now a Bitwarden-only part of the user secrets step. The Authorization heading moved outside the block, with a short <Community> note.

🤖 AI-assisted review

  • Path: Standard (code-review-local). It raised one IMPORTANT finding, a wrong cd path in the Aspire setup steps, which is fixed. No findings were deferred.
  • Limitation: every statement about the AppHost was checked against AppHost/ and dev/ on server main, and the AppHost builds there. It wasn't run end to end, because the setup-secrets resource clears the local per-project user secrets on start.

@withinfocus withinfocus added the ai-review Request a Claude code review label Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This docs-only PR makes Aspire the recommended local server setup. It moves the Docker Compose, Azurite bootstrap, database creation, build and debugging steps to a new manual-setup.md page, and adds Aspire notes to the advanced setup, EF, MSSQL, Events, Portal, SCIM, self-hosted, SSO, troubleshooting and tunnel pages. Every new internal link resolves to an existing heading: #run-with-aspire, #set-up-aspire, #configure-user-secrets, #client-connection, #bootstrap-azurite, #ngrok-with-aspire, manual-setup.md#create-database and the self-hosted #running. The inbound #mailcatcher and #azurite links from other pages still work. The open reviewer threads are questions for the author, so this review adds no duplicates.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Deploying contributing-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 711bb2c
Status:⚡️  Build in progress...

View logs

@withinfocus
withinfocus marked this pull request as ready for review October 9, 2026 19:04
@withinfocus
withinfocus requested a review from a team as a code owner October 9, 2026 19:04

@eliykat eliykat left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excited to see Aspire become our official recommendation for DX.

Comment thread docs/getting-started/server/guide.md Outdated
Comment thread docs/getting-started/server/guide.md Outdated
Comment thread docs/getting-started/server/guide.md Outdated
Comment thread docs/getting-started/server/events.md
Comment thread docs/getting-started/server/sso/index.md Outdated
Comment thread docs/getting-started/server/guide.md
@withinfocus
withinfocus requested a review from eliykat October 12, 2026 21:44

@eliykat eliykat left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you for updating the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Request a Claude code review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants