Vaultwarden: your vault, your rules
Your own password manager with full Bitwarden compatibility.
Your passwords stay on your hardware, not in someone else's cloud.
Vaultwarden in a nutshell
A full Bitwarden-compatible server in a single lightweight container.
Full Bitwarden API
Compatible with all official Bitwarden browser extensions, desktop apps, and mobile apps. No modified clients needed.
2FA and TOTP
Built-in TOTP authenticator, FIDO2/WebAuthn support, and Duo integration. Protect your vault with multiple authentication layers.
Password sharing
Share credentials securely through organizations and collections. Set read-only or full-access permissions per user.
Organizations and collections
Create teams with shared vaults. Organize credentials into collections and control access by group or individual.
Emergency access
Designate trusted contacts who can request access to your vault after a configurable waiting period.
Ultra-Lightweight
Uses about 50 MB of RAM. Written in Rust, runs in a single container. Perfect for low-resource VPS instances.
Vaultwarden vs 1Password
Your vault. Encrypted on your hardware. Not in a US cloud.
| Feature | Vaultwarden + VPS | 1Password |
|---|---|---|
| Data ownership | Your server, your data | 1Password's cloud (US/Canada) |
| Source code | Open source (AGPLv3) | Closed source, proprietary |
| Per-user pricing | Flat VPS price, unlimited users | $7.99/user/mo |
| Bitwarden app support | All official Bitwarden apps | 1Password apps only |
| Premium features | All features free (TOTP, attachments, Send) | Premium tier required |
Install Vaultwarden in 5 minutes
Docker Compose on your VPS. HTTPS is required for browser extensions.
Connect and install Docker
ssh root@your-server-ip apt update && apt install -y docker.io docker-compose-v2 Create docker-compose.yml
cat <<'EOF' > docker-compose.yml
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- vw-data:/data
ports:
- "127.0.0.1:8080:80"
environment:
- DOMAIN=https://vault.example.com
- SIGNUPS_ALLOWED=true
volumes:
vw-data:
EOF
docker compose up -d Set up HTTPS and connect
Put a reverse proxy (Caddy or Nginx) in front of port 8080 with a valid SSL certificate. Then open your domain and create your account. Disable SIGNUPS_ALLOWED after setup.
Recommended VPS specs
Personal
1-5 users
- 512 MB RAM
- 1-5 users
Small team
5-50 users
- 1 GB RAM
- 5-50 users
Organization
100+ users
- 2 GB+ RAM
- 100+ users
Vaultwarden FAQ
Still have questions? Contact our support team
Own your password vault
Passwords under your control. Bitwarden-compatible.