Deployment examples
Carson Yang edited on Apr 14, 2025.
This page is an index of standalone deployment examples. If adding a new example, please create a new category if appropriate, and keep things organized in general.
Self-hosted
This section documents different options to host Vaultwarden on your own hardware or any infrastructure that is primarily managed by yourself.
Highly Available Vaultwarden Deployment with Ansible
This Ansible deployment sets up a highly available Vaultwarden cluster using the following components:
Key Features:
- Nginx: Handles SSL offloading and load balancing for optimal performance and security.
- Certbot: Automatically generates and manages SSL certificates for secure communication.
- Vaultwarden: Serves as the main backend for password management.
- Keepalived: Provides virtual IP and redundancy for high availability.
- PostgreSQL: Uses an external database for storing data.
- Docker and Docker Compose: Deploy all services with docker compose.
Ansible
Ansible role that currently supports EL8 and EL9 distributions. Under active development and support and has a working MVP version.
Raspberry Pi
- https://github.com/martient/vaultwarden-ansible
- https://dietpi.com/
- https://mijo.remotenode.io/posts/tailscale-caddy-docker/
- https://github.com/AlphanAksoyoglu/vaultwarden-rpi/
- LAN only, or LAN + Tailscale (Access from everywhere through VPN)
- Your domain (Cloudflare) or DuckDNS domain
- Optional Backup Service which does not rely on 3rd party containers
- Optional UFW and IPTABLES Hardening
just run
install.sh --initandinstall.sh --install
Ansible deployment for vaultwarden on raspberry pi, for migrate from the previous configuration, follow the guides linked on the page.
DietPi is a lightweight Debian-based distribution (image) for all kinds of devices like Raspberry Pi, Odroid, NanoPi and others. It offers a software script for installing various programs including Vaultwarden. That spares the user tinkering with installation commands.
For installing Vaultwarden on DietPi just type dietpi-software install 183 on the command line. More information about the installation process and first access to Vaultwarden on DietPi can be found at https://dietpi.com/docs/software/cloud/#vaultwarden
A walkthrough guide for securing access to Vaultwarden with Tailscale and Caddy. All services are containerized and managed with Docker Compose, hosted on a Raspberry Pi.
A docker-compose based, modular, self-hosted Vaultwarden deployment.
Options:
Comes with a convenient installer:
and an extensive README.
Shared hosting
Sample config for running vaultwarden on DreamHost, but should be readily adaptable to many other shared hosting services.
Instructions on how to install from source and run on Uberspace shared hosting provider.
NixOS (by tklitschi)
There's a example bitwarden config for NixOS. It's not very complex, you have the backend option, for the type of Database you wanna use, the Backupdir for a dedicated Backup systemdserive, the option to enable it and the config Option. For the Config Option you simply pass the .env Variables from the .env template in nix syntax. Secrets ( SMTP_PASSWORD,... ) store inside another .env file outside /nix/store and include by services.vaultwarden.environmentFile See Proxy Examples for a nixos-nginx example config.
Example Config
QNAP NAS (ARM and x86)
You can install Vaultwarden into your secure network-attached storage (NAS) with Let's Encrypt. Due to the QNAP's built-in HTTP(S) server, you cannot publish Vaultwarden on the standard HTTP(S) port (80 / 443).
Kubernetes Manifests
Sets up a fully functional and secure vaultwarden application in Kubernetes behind nginx-ingress-controller and AWS ELBv1. It provides a little bit more than just simple deployment but you can use all or just part of the manifests depending on your needs and setup.
Helm charts
Sets up a fully functional and secure vaultwarden application in Kubernetes behind an nginx controller of your choice. It works well and is tested with the microk8s setup. There is support for generating SSL certificates via cert-manager too.
Deploy Vaultwarden to Kubernetes clusters using Helm. This chart supports important customizations such as providing image tags and custom registry values, using an external MySQL or PostgreSQL database, using ingress controllers such as nginx-ingress and AWS LB Ingress Controller, using service accounts, configuring SMTP, and configuring storage options.
This Helm chart is under active development and support.
PaaS Hosting
This section presents different options to host Vaultwarden in the cloud or using Platform as a Service providers.
AWS EKS
Deploy Vaultwarden in Amazon EKS using Terraform and Infrastructure-as-Code.
Sealos
Installs vaultwarden on Sealos using all free addons. Takes about 1 minutes to install. Gracefully handle high concurrency and offer dynamic scalability.
Google Cloud
Vaultwarden installation optimized for Google Cloud's 'always free' e2-micro compute instance
Heroku
Installs vaultwarden on Heroku using all free addons. Takes about 15 minutes to install.
Fly.io
Installs vaultwarden with SQLite database. But you need to create volume for database
flyctl volumes create vaultwarden_data -a [your app name] -s 1
Template to deploy Vaultwarden on Fly.io with websockets support (with caddy) and sqlite hourly backups using restic.
Dokku
This is a script that automatically sets up vaultwarden using the docker image uploaded to DockerHub
and creates a Dokku app. The script assumes you have a global domain set
up (i.e. the file /home/dokku/VHOST exists). Follow the prompts to set it up.
Copy the above script to your dokku host and run it. Once the script succeeds, the web vault will be
available at https://$APPNAME.dokku.me.
To update your vaultwarden server, run the following (remembering to replace $APP_NAME with your app's name):
Azure
Vaultwarden installation optimized for Azure Container App service with fileshare for data
Digital Ocean
Vaultwarden installation for Digital Ocean's cheapest droplet. Resources setup via terraform