Links

5.部署示例

对应的官方页面地址
本页面是独立部署示例的索引。如果要添加新的示例,请在适当的时候创建一个新的类别,并在总体上保持有序。

Google Cloud

针对 Google Cloud 的「永远免费」的 f1-micro 计算实例进行了优化的 Vaultwarden 安装。

Heroku

使用全部免费的插件在 Heroku 上安装 Vaultwarden。安装大约需要 15 分钟。

Fly.io

使用 SQLite 数据库安装 vaultwarden。但是你需要为数据库创建卷 flyctl volumes create vaultwarden_data -a [your app name] -s 1

Kubernetes

在 Kubernetes 上以 nginx-ingress-controller 和 AWS ELBv1 作为后端设置一个功能齐全且安全的 Vaultwarden 应用程序。它提供的不仅仅是简单的部署,还可以根据您的需要和设置使用全部或部分功能。
在 Kubernetes 上以您选择的 nginx 控制器作为后端设置一个功能齐全且安全的 Vaultwarden 应用程序。它运行良好,并已使用 microk8s 设置进行了测试。而且支持通过 cert-manager 生成 SSL 证书。
使用 Helm 将 Vaultwarden 部署到 Kubernetes 集群。它支持重要的自定义,例如提供图像标签和自定义注册表值、使用​​外部 MySQL 或 PostgreSQL 数据库、使用入口控制器(如 nginx-ingressAWS LB 入口控制器)、使用服务帐户、配置 SMTP,以及配置存储选项。它拥有充分的记录,未来将继续引入更多配置选项。

Raspberry Pi

raspberry pi 上的 Vaultwarden Ansible 部署。要从以前的配置迁移,请遵循页面上链接的指南进行操作。
DietPi 是一个轻量级的基于 Debian 的发行版(镜像),适用于各种设备,例如 Raspberry Pi、Odroid、NanoPi 等。它提供了一个软件脚本,用于安装包括 Vaultwarden 在内的各种程序。这样可以让用户免去对安装命令的烦恼。
要在 DietPi 上安装 Vaultwarden,只需在命令行中键入 dietpi-software install 183 即可。有关在 DietPi 上的安装步骤和首次访问 Vaultwarden 的更多信息,请访问 https://dietpi.com/docs/software/cloud/#vaultwarden

共享主机

DreamHost 上运行 Vaultwarden 的配置示例,但应该也适用于许多其他共享主机服务。
如何从源代码安装以及如何在 Uberspace 共享托管服务提供商上运行的说明。

NixOS (by tklitschi)

这里是一个针对 NixOS 上的 Vaultwarden 配置的示例。它不是很复杂,有您想使用的数据库类型的后端选项、用于系统服务专用备份的备份目录、启用它的选项以及配置选项。对于配置选项,你只需从 .env 模板传递 .env 变量到 nix 语法中即可。密码 (SMTP_PASSWORD,... ) 存储在 /nix/store 之外的另一个 .env 文件中,并被 services.vaultwarden.environmentFile 包含。请参阅代理示例以了解 nixos-nginx 的配置示例。
配置示例
{ pkgs, ... }:
{
services.bitwarden_rs = {
enable = true;
backupDir = "/mnt/bitwarden";
config = {
WEB_VAULT_FOLDER = "${pkgs.bitwarden_rs-vault}/share/bitwarden_rs/vault";
WEB_VAULT_ENABLED = true;
LOG_FILE = "/var/log/bitwarden";
WEBSOCKET_ENABLED = true;
WEBSOCKET_ADDRESS = "0.0.0.0";
WEBSOCKET_PORT = 3012;
SIGNUPS_VERIFY = true;
# ADMIN_TOKEN = (import /etc/nixos/secret/bitwarden.nix).ADMIN_TOKEN;
DOMAIN = "https://exmaple.com";
# YUBICO_CLIENT_ID = (import /etc/nixos/secret/bitwarden.nix).YUBICO_CLIENT_ID;
# YUBICO_SECRET_KEY = (import /etc/nixos/secret/bitwarden.nix).YUBICO_SECRET_KEY;
YUBICO_SERVER = "https://api.yubico.com/wsapi/2.0/verify";
SMTP_HOST = "mx.example.com";
SMTP_FROM = "[email protected]";
SMTP_FROM_NAME = "Bitwarden_RS";
SMTP_PORT = 587;
SMTP_SSL = true;
# SMTP_USERNAME = (import /etc/nixos/secret/bitwarden.nix).SMTP_USERNAME;
# SMTP_PASSWORD = (import /etc/nixos/secret/bitwarden.nix).SMTP_PASSWORD;
SMTP_TIMEOUT = 15;
ROCKET_PORT = 8812;
};
environmentFile = "/etc/nixos/secret/bitwarden.env";
};
}
如果您有任何关于这部分的问题,请随时联系我。我在 matrix 的 @litschi:litschi.xyz 、以及 IRC(hackint 和 freenode)的 litschi,或简单地在 matrix.org 的 Vaultwarden 频道中询咨询我。

QNAP NAS (ARM 和 x86)

您可以使用 Let's Encrypt 将 Vaultwarden 安装到您的安全网络附加存储 (NAS) 中。但由于 QNAP 内置的 HTTP(S) 服务器,您不能在标准的 HTTP(S) 端口 (80/443) 上发布 Vaultwarden。

Dokku

这是一个脚本,使用上传到 DockerHub 的 docker 镜像自动设置 Vaultwarden,并创建一个 Dokku 应用程序。该脚本假设您已经设置了一个全局域名(即存在 /home/dokku/VHOST 文件)。遵循提示进行设置。
#!/usr/bin/env bash
set -euo pipefail
APPNAME=""
read -rp "Enter the name of the app: " APPNAME
# 检查应用名称是否为空
if [ -z "$APPNAME" ]; then
echo "App name empty. Using default name: vaultwarden"
APPNAME="vaultwarden"
fi
# 检查 dokku 插件是否存在
if ! dokku plugin:list | grep letsencrypt; then
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
fi
# 检查是否设置了用于 letsencrypt 的全局电子邮件
if ! dokku config:get --global DOKKU_LETSENCRYPT_EMAIL; then
read -rp "Enter email address for letsencrypt: " EMAIL
dokku config:set --global DOKKU_LETSENCRYPT_EMAIL="$EMAIL"
fi
# 拉取最新版的镜像
IMAGE_NAME="vaultwarden/server"
docker pull $IMAGE_NAME
image_sha="$(docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME)"
echo "Calculated image sha: $image_sha"
dokku apps:create "$APPNAME"
dokku storage:ensure-directory "$APPNAME"
dokku storage:mount "$APPNAME" /var/lib/dokku/data/storage/"$APPNAME":/data
dokku domains:add $APPNAME $APPNAME."$(cat /home/dokku/VHOST)"
dokku letsencrypt:enable "$APPNAME"
dokku proxy:ports-add "$APPNAME" http:80:80
dokku proxy:ports-add "$APPNAME" https:443:80
dokku proxy:ports-remove "$APPNAME" http:80:5000
dokku proxy:ports-remove "$APPNAME" https:443:5000
dokku git:from-image "$APPNAME" "$image_sha"
将上面的脚本复制到您的 Dokku 主机然后运行它。脚本运行成功后,即可通过 https://$APPNAME.dokku.me 访问网页密码库。
要更新您的 Vaultwarden 服务器,请运行以下命令(记得将 $APP_NAME 替换为应用程序的名称):
docker rmi -f vaultwarden/server
docker pull vaultwarden/server:latest
image_sha="$(docker inspect --format='{{index .RepoDigests 0}}' vaultwarden/server)"
dokku git:from-image $APP_NAME $image_sha

Azure

针对具有数据文件共享的 Azure 容器应用程序服务进行了优化的 Vaultwarden 安装。

Digital Ocean

Digital Ocean 最便宜的 Droplet 的 Vaultwarden 安装。通过 Terraform 设置资源。