Growth Dudes
Join free

✓ VERIFIED Bitwarden-compatible End-to-end encrypted All Bitwarden clients

Vaultwarden

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

⏱ 15 min ◆◇◇ 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 it's on the shelf

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. Whatever you pay for that today is what this page is here to delete. Worth being honest with yourself first though: if the bill is already small, the answer may still be that this isn't worth your Saturday.

Skip this one if... You don't want a server you're responsible for. Vaultwarden runs on your own box, which is what makes it free and what makes it yours - but it also means the backups, the updates and the 11pm restart are on you. If that's a no, close the tab; it'll cost you 15 min to find out the hard way.

Setting it up

These are the steps in order. The time on the bar above is what this took us end to end, including the reading.

  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

The actual configuration, not a sketch of one. The highlighted lines are the ones you have to change.

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 this Backups 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.

What it costs to run

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

This keeps working without us Vaultwarden runs on your own box under the AGPL-3.0, with your data in your own database. If Growth Dudes stops existing tomorrow, nothing on this page stops working. That is deliberate, and it's the only promise here we can actually keep.

Field notes

What people found when they actually ran it - dated, named and specific, including the times our setup number turned out to be optimistic.

Nobody has posted one for Vaultwarden yet.

We're not going to invent them. Run it, then tell the room what actually happened - the time you got, and the step that wasn't in the instructions.

Join and post one

NEXT

Others people run alongside it