
Vaultwarden is a lightweight, open-source password manager and Bitwarden-compatible server. It lets you self-host your own secure vault for passwords, notes, and other sensitive data — fully under your control.
Log in to your server via SSH, create a directory for Vaultwarden, and open the Compose file:
Paste the following content into the file. This configuration includes Vaultwarden itself and an automatic weekly backup of your vault data:
Binding to 127.0.0.1:8080 ensures Vaultwarden is only accessible locally. External access is handled by the reverse proxy in Step 3.
Launch both the Vaultwarden and backup containers with a single command:
Docker will pull the required images and start both containers in the background.
A password manager must only be accessed over a secure HTTPS connection. The container exposes the web server on port 8080 locally — this should never be opened directly to the internet.
You must set up a reverse proxy to forward traffic from your public domain (e.g. https://vault.yourdomain.com) to the local Vaultwarden container (http://localhost:8080). The reverse proxy also handles the SSL certificate for HTTPS. Common options are Nginx Proxy Manager, Traefik, or Caddy.
Critical: Never access or use your Vaultwarden instance over an unencrypted HTTP connection. Always use a reverse proxy with a valid SSL certificate before creating any accounts or storing any passwords.
Once your reverse proxy is set up and HTTPS is working, you can create your main account:
https://vault.yourdomain.com)All official Bitwarden browser extensions and mobile apps are fully compatible with your self-hosted Vaultwarden instance:
https://vault.yourdomain.com)For advanced configuration options, environment variables, and admin panel setup, refer to the official Vaultwarden documentation.