← All articles
brown wooden electric post under blue sky during daytime

Vaultwarden: Self-Hosted Bitwarden Password Manager for Your Homelab

guides 2026-02-27 · 4 min read vaultwarden bitwarden password manager self-hosted docker security
By HomeLab Starter Editorial TeamHome lab enthusiasts covering hardware setup, networking, and self-hosted services for home and small office environments.

Password managers are essential security tools, but relying on a third-party service means trusting them with your most sensitive data. Vaultwarden is a self-hosted, Bitwarden-compatible password manager — you get all the Bitwarden clients (browser extensions, mobile apps, desktop apps) while running the server yourself.

Photo by Roger Starnes Sr on Unsplash

Vaultwarden vs. Bitwarden

Bitwarden is an excellent password manager with a good free tier and reasonable paid plans. Vaultwarden is an unofficial Bitwarden-compatible server implementation written in Rust.

Key differences:

All official Bitwarden apps (browser extensions, mobile apps) connect to Vaultwarden seamlessly — just point them to your server URL instead of bitwarden.com.

Security Considerations

Before deploying, understand the responsibility:

Minimum security requirements:

  1. HTTPS is mandatory — never run Vaultwarden without TLS
  2. Backups are non-negotiable — a server failure without backup means permanent password loss
  3. Keep it updated — security vulnerabilities get patched in new releases
  4. Strong admin password — the admin panel is a significant attack surface

With those in mind: a properly secured Vaultwarden instance is more secure than using a cloud manager without end-to-end encryption — your encrypted vault never leaves your network.

Deployment with Docker Compose

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    volumes:
      - /path/to/vaultwarden-data:/data
    environment:
      DOMAIN: "https://vault.yourdomain.com"
      ADMIN_TOKEN: "your-secure-admin-token"
      SIGNUPS_ALLOWED: "false"    # Disable after creating accounts
      INVITATIONS_ALLOWED: "true" # Invite family members
      SMTP_HOST: "smtp.fastmail.com"
      SMTP_FROM: "[email protected]"
      SMTP_PORT: "587"
      SMTP_USERNAME: "[email protected]"
      SMTP_PASSWORD: "your-smtp-password"
    ports:
      - "127.0.0.1:8080:80"
    restart: unless-stopped

Start it:

docker compose up -d

Like what you're reading? Subscribe to HomeLab Starter — free weekly guides in your inbox.

Generating a Secure Admin Token

Never use a simple password as the admin token. Generate a bcrypt hash:

# Install htpasswd (usually in apache2-utils)
sudo apt install apache2-utils

# Generate bcrypt hash (use exactly this format)
htpasswd -bnBC 12 "" YourStrongAdminPassword | tr -d ':\n' | sed 's/$2y/$2a/'

Set the output as ADMIN_TOKEN in your compose file. Admin access is then at https://vault.yourdomain.com/admin.

HTTPS Configuration (Required)

Vaultwarden requires HTTPS for all browser extension and mobile app connections. Two options:

Option 1: Reverse proxy (recommended) Use Nginx Proxy Manager or Traefik in front of Vaultwarden:

server {
    listen 443 ssl;
    server_name vault.yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # WebSocket support (needed for real-time sync)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Option 2: Cloudflare Tunnel Expose Vaultwarden through a Cloudflare Tunnel for HTTPS without port forwarding or a certificate to manage.

Initial Setup

  1. Navigate to https://vault.yourdomain.com
  2. Create your admin account (first account if signups are enabled)
  3. Immediately disable public signups in the admin panel or via SIGNUPS_ALLOWED: "false"
  4. Enable 2FA on your account (TOTP via any authenticator app)
  5. Add family members via invitation links

Connecting Bitwarden Clients

Browser extension:

  1. Install the Bitwarden extension in Chrome/Firefox/Edge
  2. Click the extension → Settings
  3. Under "Self-hosted environment", enter your server URL
  4. Save and log in

Mobile app (iOS/Android):

  1. Install the official Bitwarden app
  2. On the login screen, tap "Self-hosted" (gear icon)
  3. Enter your server URL
  4. Log in normally

Desktop app: Same process as the browser extension.

Premium Features (Free in Vaultwarden)

Bitwarden charges $10/year for Premium. Vaultwarden includes these features for free:

To enable in Vaultwarden: Admin panel → Users → set your account to premium_forever: true.

Backup Strategy

Your vault data lives in /data. Back it up religiously:

What to back up:

Example: nightly backup with cron:

#!/bin/bash
BACKUP_DIR="/backups/vaultwarden"
DATE=$(date +%Y-%m-%d)
mkdir -p "$BACKUP_DIR"
cp /path/to/vaultwarden-data/db.sqlite3 "$BACKUP_DIR/vault-$DATE.db"
# Keep 30 days
find "$BACKUP_DIR" -name "*.db" -mtime +30 -delete

Export a local backup from the web vault (Settings → Export Vault) periodically as an additional safety net — this gives you a plaintext JSON or encrypted file you can import into any Bitwarden-compatible manager if your server ever fails.

Updating Vaultwarden

docker compose pull
docker compose up -d

Check Vaultwarden releases for breaking changes before updating. Updates are generally safe and have not required manual database migrations.

Monitoring

Set up uptime monitoring (Uptime Kuma or similar) to alert you if Vaultwarden goes down. An unavailable password manager at the wrong time is genuinely disruptive — you want to know immediately if it's offline.

Is Self-Hosting Right for You?

Self-hosting a password manager is higher responsibility than using Bitwarden's cloud. Consider:

For tech-confident homelabbers who already self-host other services: Vaultwarden is a natural addition. For less technical family members who rely on your server: a cloud option like Bitwarden's cloud (which also has end-to-end encryption) may be more reliable.

Get free weekly tips in your inbox. Subscribe to HomeLab Starter