Repolode
dani-garcia

dani-garcia/vaultwarden

An alternative, Rust-based server implementation of the Bitwarden Client API, compatible with official Bitwarden clients for self-hosting.

Open-source alternative to:Bitwarden

Stars
69,365
Forks
3,353
Open issues
103
Last commit
5 days ago

What is it?

Vaultwarden is an unofficial server for the Bitwarden Client API, written in Rust. Official Bitwarden clients for browsers, desktop, and mobile can connect to it, so users can keep their password vault on infrastructure they run themselves.

It targets self-hosters who find the official server too resource-heavy. The project covers most of the client API, including personal vaults, Send, attachments, website icons, organizations with collections and member roles, several two-factor methods such as FIDO2, YubiKey and Duo, and emergency access. It also includes an admin backend and a bundled modified web vault.

The recommended deployment is the official container images, run with a persistent data volume. Because the web vault needs HTTPS for the Web Crypto API, the project suggests putting it behind a reverse proxy. The project was formerly named bitwarden_rs and is not affiliated with Bitwarden, Inc.

Key features

  • 01Compatible with official Bitwarden browser, desktop and mobile clients
  • 02Supports personal vaults, Send and attachments
  • 03Organizations with collections, member roles, groups and event logs
  • 04Multiple two-factor methods including FIDO2, YubiKey and Duo
  • 05Includes an admin backend and bundled web vault
  • 06Distributed as container images on ghcr.io, Docker Hub and Quay.io

Use cases

  • Running a personal or family password manager on a home server
  • Giving a small organization a self-hosted shared vault
  • Replacing a hosted password manager with infrastructure you control

Quick start

  1. 1

    Pull the container image

    docker pull vaultwarden/server:latest
  2. 2

    Run the container with a data volume and DOMAIN set

    docker run --detach --name vaultwarden --env DOMAIN="https://vw.domain.tld" --volume /vw-data/:/data/ --restart unless-stopped --publish 127.0.0.1:8000:80 vaultwarden/server:latest

Things to know

  • The web vault requires HTTPS, so you need to enable TLS yourself, ideally via a reverse proxy.
  • Not affiliated with Bitwarden; bug reports should go to Vaultwarden, not Bitwarden support.
  • Licensed under AGPL-3.0, a copyleft license with network-use source obligations.

Topics

FAQ

What is vaultwarden?
An alternative, Rust-based server implementation of the Bitwarden Client API, compatible with official Bitwarden clients for self-hosting. Vaultwarden is an unofficial server for the Bitwarden Client API, written in Rust. Official Bitwarden clients for browsers, desktop, and mobile can connect to it, so users can keep their password vault on infrastructure they run themselves.
Is vaultwarden free to use? What license does it have?
vaultwarden is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is vaultwarden still maintained?
Actively maintained. The last commit to vaultwarden was on Oct 16, 2026.
What can I use vaultwarden for?
Running a personal or family password manager on a home server Giving a small organization a self-hosted shared vault Replacing a hosted password manager with infrastructure you control
How do I install vaultwarden?
Pull the container image: docker pull vaultwarden/server:latest Run the container with a data volume and DOMAIN set: docker run --detach --name vaultwarden --env DOMAIN="https://vw.domain.tld" --volume /vw-data/:/data/ --restart unless-stopped --publish 127.0.0.1:8000:80 vaultwarden/server:latest
Where can I get vaultwarden?
The source code and installation instructions are on GitHub: https://github.com/dani-garcia/vaultwarden

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects