Network & Cyber DefenseEngineer

Self-Hosted Password Manager with Vaultwarden

Run a lightweight Bitwarden-compatible server at home and use the official Bitwarden apps on every device.

LevelEngineer
Time1.5 h
Est. cost~$152
Steps5

Vaultwarden is an unofficial, lightweight server compatible with Bitwarden clients. Your vault is end-to-end encrypted on your devices, and the server lives on your Pi.

⚠ SAFETY
This holds every password you own. Keep the Pi updated, use a strong master password with two-factor authentication, keep encrypted off-site backups and never expose it without HTTPS.

Video tutorial

▶ BTC SessionsWatch on YouTube ↗

Video by BTC Sessions, embedded from YouTube. The written steps below are our own and match the parts list.

Mission steps

  1. Complete the Docker guide

    Vaultwarden runs as a single container.

  2. Provide HTTPS

    Bitwarden apps require HTTPS. The simplest private option is Tailscale with its built-in HTTPS certificates.

  3. Start the container

    Run Vaultwarden with a data volume and an admin token, bound only to localhost or your Tailscale interface.

  4. Create your account

    Open the web vault, create an account, then disable new sign-ups in the admin settings.

  5. Back up the data folder

    Copy the data volume to another drive nightly — losing it means losing your vault.

Code

docker run -d --name vaultwarden --restart=always \
  -e SIGNUPS_ALLOWED=true \
  -v /srv/vaultwarden:/data \
  -p 127.0.0.1:8080:80 vaultwarden/server:latest
# serve it privately over HTTPS on your tailnet
sudo tailscale serve --bg 8080

Tip: test every script on the bench before installing it in a moving machine.

Questions

Is it official Bitwarden?

No. It is a community project compatible with Bitwarden's apps. For guaranteed support, use Bitwarden's official server or hosted service.