breuninger.bitwarden
Ansible角色:Bitwarden
使用bitwarden.sh
通过Docker和Docker-Compose部署Bitwarden。
该角色是对Bitwarden设置脚本的自动包装。它大量使用处理程序来触发重新配置和更新任务。
如果你需要任何未被该角色覆盖的任务,直接在机器上使用设置脚本也是完全可以的。 使用官方文档作为参考:Bitwarden安装指南
使用方法
将角色添加到你的剧本中:
- hosts: server
roles:
- { role: breuninger.bitwarden }
已知问题
Certbot
我们目前仅支持Nginx的静态TLS证书。Certbot集成尚未配置。 如果需要,请随时添加该功能作为PR。
Bitwarden版本
Bitwarden的设置文件中的版本与仓库的标签版本可能不同。 这是由于他们的发布策略,在master分支中仅增加实际版本。我们已经与Bitwarden进行沟通,并希望未来能有不同的发布模式。
SSL模式
Bitwarden设置脚本允许四种不同的SSL设置方式(或无SSL):用户提供的SSL证书、Let's Encrypt生成的SSL证书、由设置容器生成的自签名证书,以及无SSL(通常不推荐使用)。
用户提供证书
为了保持向后兼容性,这是该角色的默认模式。虽然Bitwarden设置脚本允许用户提供不受信任的证书,但该角色要求提供的证书必须被信任(由CA签名,而非自签名)。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: provided
bitwarden_nginx_cert_path: /path/to/ssl/cert
bitwarden_nginx_key_path: /path/to/ssl/key
如果需要使用不受信任的用户提供证书的用例,可以在defaults/main.yml
中添加一个新的ssl_mode和相应的输入。
Let's Encrypt
使用Bitwarden设置脚本中提供的Certbot SSL集成。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: lets_encrypt
bitwarden_lets_encrypt_email: [email protected]
生成的自签名证书
Bitwarden设置脚本允许生成自签名SSL证书以使用SSL,但这是从不受信任的来源提供的。 上面提到的两种方法更适合在生产环境中运行Bitwarden。除非绝对必要,请选择上述两种方式之一,而不是使用该选项。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: generate
无SSL
在使用此选项之前请仔细考虑你的用例。一个合理的用例是反向代理的SSL终止。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: disable
在本地以docker-compose方式安装并配置Bitwarden。
内容目录
默认变量
bitwarden_domain_name
用于Bitwarden的域名
默认值
bitwarden_domain_name: localhost
bitwarden_global_env
全局Bitwarden环境变量的映射。每个值都映射到global.override.env。 请参阅环境变量说明。
默认值
bitwarden_global_env: {}
示例用法
bitwarden_global_env:
globalSettings__mail__smtp__host: localhost
globalSettings__mail__smtp__port: 25
bitwarden_lets_encrpyt_email
如果bitwarden_ssl_mode设置为"lets_encrypt",则为Lets Encrypt邮箱账号。
bitwarden_lets_encrypt_email
默认值
bitwarden_lets_encrypt_email:
bitwarden_nginx_cert_path
用于Nginx容器的证书文件路径(如果bitwarden_ssl_mode == "provided"
,则为必填项)。
角色的用户有责任提供有效的证书文件。
文件将从提供的位置复制到Bitwarden用户的主目录,以确保在容器内的正确映射。
默认值
bitwarden_nginx_cert_path:
bitwarden_nginx_key_path
用于Nginx容器的密钥文件路径(如果bitwarden_ssl_mode == "provided"
,则为必填项)。角色的用户有责任提供有效的密钥文件。
文件将从提供的位置复制到Bitwarden用户的主目录,以确保在容器内的正确映射。
默认值
bitwarden_nginx_key_path:
bitwarden_region
用于Bitwarden的区域。 选项:US,EU
默认值
bitwarden_region: US
bitwarden_script_version
默认值
bitwarden_script_version: v2023.12.0
bitwarden_setup_config
用于覆盖Bitwarden设置配置值的映射。 使用此项可以更改生成的config.yml文件中的值。
默认值
bitwarden_setup_config: {}
示例用法
bitwarden_setup_config:
database_docker_volume: true
bitwarden_ssl_mode
默认值
bitwarden_ssl_mode: provided
bitwarden_ssl_provider
在设置安装时提供使用的SSL模式。 选项:provided,generate,lets_encrypt,disable
bitwarden_test_install_script
一个标志,用于禁用下载bitwarden.sh
脚本。在需要测试Let's Encrypt ssl_mode而又不想遭遇Let's Encrypt限制率的情况下使用。或者测试对bitwarden.sh
或run.sh
脚本的更改。希望未来可以将此标志添加到bitwarden.sh
脚本中,而不是在这里使用。
默认值
bitwarden_test_install_script: false
依赖项
无。
许可证
MIT
作者
运营核心工具团队 ops-core-tooling@breuninger.de
ansible-galaxy install breuninger.bitwarden