Vaultwarden
Self-hosted password manager server that works with the Bitwarden client apps.
- Replaces
-
Paid password manager services, such as 1Password and LastPass.
- Difficulty
-
Difficulty: Easy
1 service, 1 volume mount, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Stack
Rust (language)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
AGPL-3.0(OSI-approved open source)Read from github.com/dani-garcia/vaultwarden/blob/b71cb7a/LICENSE.txt
- Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md, read on .
- Repository
GitHub stats
- Stars
- 69,456
- Forks
- 3,360
- Open issues and pull requests
- 100
- Last push
- 2026-10-22
- Latest release
- 1.37.4
- Released
- 2026-10-05
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as AGPL-3.0.
Compose file
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
volumes:
- ./vw-data/:/data/
ports:
- 127.0.0.1:8000:80
From the app's own repository: github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md.
Compose example from the project's own docs: dani-garcia/vaultwarden:README.md.
Install
- Docker with the Compose plugin (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md#L99-L111)
A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
- Save the code block as compose.yaml (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md)
Use the compose file shown above.
- What the compose file check ran with (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md#L99-L111)
This compose file is copied unchanged from the code block in https://github.com/dani-garcia/vaultwarden/blob/b71cb7a832080d9fdfdd97bcccf065307cf73236/README.md#L99-L111. The check ran on that block alone. The README tells the reader to create a compose.yaml with this configuration to run the container.
- Start it (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md)
docker compose up -d - Open the app (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md)
Open http://localhost:8000. The compose file publishes host port 8000 for the vaultwarden service. The README example publishes the port on 127.0.0.1 only.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: vaultwarden: vaultwarden/server:latest. A later pull can get a different version. (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 127.0.0.1:8000 (vaultwarden). (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md, checked 2026-10-22)
- The compose file mounts host folders. Host paths mounted into containers: ./vw-data/ at /data/ (vaultwarden). (github.com/dani-garcia/vaultwarden/blob/b71cb7a/README.md, checked 2026-10-22)
Signals
- Open issues and pull requests: 100
- Last push: 2026-10-22 (0 days before this page was built)
- Latest release: 1.37.4 on 2026-10-05 (17 days before this page was built)