Free Bitwarden-compatibleEnd-to-end encryptedAll Bitwarden clients

Vaultwarden

A self-hosted password manager. The Bitwarden server, rewritten in Rust, running on a $5 VPS.

15 min setup ◆◇◇ Copy, paste, done Reversible

What it does

A lightweight Bitwarden-compatible server. Use the official Bitwarden browser extension, mobile app, and desktop app - they all connect to your self-hosted server. Full end-to-end encryption, zero knowledge.

Why we like it

1Password charges $36/year per person. LastPass has had multiple breaches. Bitwarden's cloud is great, but self-hosting means your encrypted vault never touches anyone else's server. Vaultwarden uses 50MB of RAM - it'll run on literally anything.

What it replaces

1Password, LastPass, Dashlane, Bitwarden Cloud

Setup guide

Here's the setup, step by step. A lightweight Bitwarden-compatible server. Use the official Bitwarden browser extension, mobile app, and desktop app - they all connect to your self-hosted server. Full end-to-end encryption, zero knowledge.

Steps

  1. Install Docker on your VPS
  2. Create a docker-compose.yml with the Vaultwarden image
  3. Set up a reverse proxy (Caddy or Nginx) with SSL - required for browser extensions
  4. Create your admin account at your domain
  5. Install the Bitwarden browser extension and point it to your server

The code

This is the actual configuration you'll use. Lines you need to edit are highlighted.

What this doesVaultwarden is a single container. Add Caddy for SSL.
docker-compose.yml
services:  vaultwarden:    image: vaultwarden/server:latest    ports:      - "80:80"   # HTTP (use reverse proxy for SSL)      - "3012:3012" # WebSocket notifications    environment:      - DOMAIN=https://vault.yourdomain.com  ← your domain      - ADMIN_TOKEN=generate-a-secure-token  ← run: openssl rand -base64 48    volumes:      - vw_data:/datavolumes:  vw_data:
⚠ Before you run thisBackups are critical. If you lose your server, you lose your vault. Set up automated SQLite exports. The data is encrypted, but losing access means re-entering everything.

Resource cost

Runs on any $5 VPS. Uses ~50MB RAM. Backups are tiny - it's just a SQLite file.

Next

More tools like this