Self-Hosted

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.

1

Connect and install Docker

ssh root@your-server-ip
apt update && apt install -y docker.io docker-compose-v2
2

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
Recommended

Small team

5-50 users

  • 1 GB RAM
  • 5-50 users

Organization

100+ users

  • 2 GB+ RAM
  • 100+ users

See all VPS Linux plans

Vaultwarden FAQ

Still have questions? Contact our support team

Own your password vault

Passwords under your control. Bitwarden-compatible.

Instant activation No long-term commitment Support in your language