Skip to main content
Bitwarden

What is Bitwarden Server?

Bitwarden Server contains the APIs, database, and core infrastructure needed for the “backend” of all Bitwarden client applications. It provides a complete password management solution that can be self-hosted or deployed in the cloud.

API Services

RESTful APIs for vault synchronization, authentication, and user management

Identity Server

OAuth 2.0 and OpenID Connect authentication with multi-factor support

Database Layer

SQL Server, PostgreSQL, or MySQL with Entity Framework and Dapper

Event Processing

Real-time notifications and background event processing

Key Features

Cross-Platform Architecture

The server is written in C# using .NET with ASP.NET Core, enabling development, building, running, and deployment across:
  • Windows
  • macOS
  • Linux distributions

Microservices Design

Bitwarden Server uses a microservices architecture with specialized services:
  • API - Main REST API for vault operations
  • Identity - Authentication and OAuth 2.0 provider
  • Admin - Administrative portal and API
  • Notifications - WebSocket-based real-time updates
  • Events - Event logging and audit trail
  • SSO - SAML 2.0 and OpenID Connect single sign-on
  • SCIM - Automated user provisioning
  • Billing - Subscription and payment processing
  • Events Processor - Background event processing
  • Icons - Favicon fetching for vault items

Database Support

Bitwarden Server supports multiple database engines:
  • Microsoft SQL Server (default)
  • PostgreSQL
  • MySQL / MariaDB
  • SQLite (development only)
Database migrations are managed through the built-in Migrator utility.

Security Features

End-to-End Encryption

All vault data is encrypted client-side before transmission

Two-Factor Authentication

Support for TOTP, WebAuthn, Duo, YubiKey, and email 2FA

Zero-Knowledge Architecture

Server never has access to unencrypted vault data

Compliance Ready

Audit logging and compliance features for enterprise deployments

Deployment Options

Deploy using Docker containers with docker-compose for quick setup:
curl -s -L -o bitwarden.sh \
    "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" \
    && chmod +x bitwarden.sh
./bitwarden.sh install
./bitwarden.sh start
See Docker Deployment for details.

Community and Support

Contributing

Contribution guidelines and development documentation

GitHub

Source code, issues, and pull requests

Security

Security audit and responsible disclosure program
Open Source: Bitwarden Server is open source under the AGPL 3.0 license with additional terms. Enterprise features require a commercial license.

Next Steps

Architecture

Understand the system architecture and microservices design

Quick Start

Get Bitwarden Server running in minutes

Docker Deployment

Complete Docker deployment guide

API Reference

Explore the REST API documentation

Production Images

All Bitwarden services are available as Docker images from GitHub Container Registry:
  • ghcr.io/bitwarden/api
  • ghcr.io/bitwarden/identity
  • ghcr.io/bitwarden/admin
  • ghcr.io/bitwarden/notifications
  • ghcr.io/bitwarden/events
  • ghcr.io/bitwarden/events-processor
  • ghcr.io/bitwarden/sso (Enterprise)
  • ghcr.io/bitwarden/scim (Enterprise)
  • ghcr.io/bitwarden/billing
  • ghcr.io/bitwarden/icons

Build docs developers (and LLMs) love