Docker 部署 Vaultwarden

一、前言

1. 官網

1.1 Vaultwarden

https://github.com/dani-garcia/vaultwarden

https://github.com/wcjxixi/Vaultwarden-Wiki-Chn

https://hub.docker.com/r/vaultwarden/server

https://rs.ppgg.in/ # Vaultwarden Wiki 中文版

https://geekdaxue.co/read/Vaultwarden-Wiki-CN/README.md # Vaultwarden Wiki 中文版

https://bitwarden.com/download/ # 客戶端下載地址

1.2 Bitwarden

https://bitwarden.com
https://github.com/bitwarden

https://github.com/bitwarden/server

2. Vaultwarden 是什么

2021-04-27:從 v1.21.0 開始,bitwarden_rs 項目更名為 Vaultwarden。參閱 #1642 了解更多說明。

這里是對官方 Vaultwarden(以前叫 bitwarden_rs)Wiki 的中文翻譯。

Vaultwarden 是一個用于本地搭建 Bitwarden 服務器的第三方 Docker 項目。僅在部署的時候使用 Vaultwarden 鏡像,桌面端、移動端、瀏覽器擴展等客戶端均使用官方 Bitwarden 客戶端。

Vaultwarden 很輕量,對于不希望使用官方的占用大量資源的自托管部署而言,它是理想的選擇。

3. Vaultwarden 與 Bitwarden 的區別

  • 除不支持 Bitwarden 官方企業版的部分功能(詳情見這里)外,其他大部分功能均免費支持。并跟隨官方版本保持及時更新。

  • Vaultwarden 比 Bitwarden 官方版更輕量。官方版使用 .Net 開發,使用 MSSQL 數據庫,要求至少 2GB 內存;Vaultwarden 使用 Rust 編寫,改用 SQLite 數據庫(現在也支持 MySQL 和 PostgreSQL),運行時只需要 10M 內存,可以說對硬件基本沒有要求。

二、安裝部署

1. 安裝 Docker

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo && yum install docker-ce -y && docker -v && systemctl enable --now docker

2. 新建存放 vaultwarden 數據的目錄

mkdir -p /vaultwarden/nginx && cd /vaultwarden

3. 編寫 compose.yaml 文件

[root@localhost vaultwarden]# cat <<'EOF' > compose.yaml
services:vaultwarden:image: vaultwarden/server:latestcontainer_name: vaultwardenrestart: alwaysenvironment:#- ADMIN_TOKEN=hiyXZUmBwJ4sK5EHdvEnEO+2UG12367N3MoC9ZiG5EklcI5epC159/NdxHNoNqZB  # admin頁管理密碼- DOMAIN=https://vw.land.com- TZ=Asia/Shanghai        # 設置時區# 設置郵箱功能- SMTP_HOST=smtphz.qiye.163.com    # 填寫發送郵件服務器的地址- SMTP_FROM=land@163.com- SMTP_PORT=465- SMTP_SSL=false- SMTP_EXPLICIT_TLS=true- SMTP_USERNAME=land@163.com- SMTP_PASSWORD=j3w8Fxzj123498PJ   # 可以填客戶端授權碼volumes:- ./vw-data:/data/#ports:# - 8080:80vwnginx:image: nginx:1.27.4restart: alwaysvolumes:- ./vw-nginx:/etc/nginx/conf.d/ports:- "80:80"- "443:443"
EOF

4. 編寫 nginx 的配置文件

[root@localhost vaultwarden]# cat <<'EOF' > nginx/default.conf
server {listen 80;server_name vw.land.com;# 將 HTTP 請求重定向到 HTTPSreturn 301 https://$host$request_uri;
}server {listen 443 ssl;server_name vw.land.com;# 隱藏版本號server_tokens off;# 設置 SSL 證書和私鑰ssl_certificate /etc/nginx/conf.d/server.crt;  # 證書文件ssl_certificate_key /etc/nginx/conf.d/server.key;   # 私鑰文件# 其他 SSL 配置ssl_protocols TLSv1.2 TLSv1.3;  # 啟用現代的 TLS 協議ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256';ssl_prefer_server_ciphers on;# 設置其他安全頭(可選)add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;# 配置反向代理到內部服務location / {proxy_pass http://vaultwarden;proxy_set_header Host $host;  # 設置代理請求的 Host 頭為客戶端原始請求的 Host 頭(如,如果客戶端訪問 http://example.com,則 Host 頭的值為 example.com)proxy_set_header X-Real-IP $remote_addr;  # 通過 X-Real-IP 頭獲取客戶端的真實 IP 地址,而不是 Nginx 服務器的 IP 地址proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 用于記錄客戶端的原始 IP 地址和經過的所有代理服務器 IP 地址proxy_set_header X-Forwarded-Proto $scheme;  # 可以通過 X-Forwarded-Proto 頭判斷客戶端使用了 HTTPS 還是 HTTP 協議。}
}
EOF

5. 啟動容器

docker compose up -d

5.1 查看 vaultwarden 的版本

# 查看 vaultwarden 容器的日志文件能看到版本信息
[root@localhost vaultwarden]# docker logs vaultwarden/--------------------------------------------------------------------\
|                        Starting Vaultwarden                        |
|                           Version 1.33.2                           |
|--------------------------------------------------------------------|
| This is an *unofficial* Bitwarden implementation, DO NOT use the   |
| official channels to report bugs/features, regardless of client.   |
| Send usage/configuration questions or feature requests to:         |
|   https://github.com/dani-garcia/vaultwarden/discussions or        |
|   https://vaultwarden.discourse.group/                             |
| Report suspected bugs/issues in the software itself at:            |
|   https://github.com/dani-garcia/vaultwarden/issues/new            |
\--------------------------------------------------------------------/[2025-02-27 05:40:18.973][vaultwarden::auth][INFO] Private key 'data/rsa_key.pem' created correctly
[2025-02-27 05:40:19.136][start][INFO] Rocket has launched from http://0.0.0.0:80

6. Web 訪問登錄

https://vw.land.com/
賬號密碼需要自行創建,例如:

賬號:vw123@land.com # 賬號以郵箱格式填寫
密碼:8#XW%ctIpEGg # 需要滿足12位數的密碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72883.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72883.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72883.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何下載和使用Git:初學者指南

&#x1f31f; 如何下載和使用Git&#xff1a;初學者指南 在當今的軟件開發中&#xff0c;Git已經成為不可或缺的版本控制系統。無論你是獨立開發者還是團隊成員&#xff0c;掌握Git的基本操作都能幫助你更高效地管理代碼。今天&#xff0c;我將詳細介紹如何下載和使用Git&…

doris: SQL Server

Doris JDBC Catalog 支持通過標準 JDBC 接口連接 SQL Server 數據庫。本文檔介紹如何配置 SQL Server 數據庫連接。 使用須知? 要連接到 SQL Server 數據庫&#xff0c;您需要 SQL Server 2012 或更高版本&#xff0c;或 Azure SQL 數據庫。 SQL Server 數據庫的 JDBC 驅動…

Leetcode 刷題記錄 05 —— 普通數組

本系列為筆者的 Leetcode 刷題記錄&#xff0c;順序為 Hot 100 題官方順序&#xff0c;根據標簽命名&#xff0c;記錄筆者總結的做題思路&#xff0c;附部分代碼解釋和疑問解答。 目錄 01 最大子數組和 方法一&#xff1a;動態規劃&#xff08;卡達尼算法&#xff09; 方法…

《DataWorks 深度洞察:量子機器學習重塑深度學習架構,決勝復雜數據戰場》

在數字化浪潮洶涌澎湃的當下&#xff0c;大數據已然成為推動各行業發展的核心動力。身處這一時代洪流&#xff0c;企業對數據的處理與分析能力&#xff0c;直接關乎其競爭力的高低。阿里巴巴的DataWorks作為大數據領域的扛鼎之作&#xff0c;憑借強大的數據處理與分析能力&…

wordpress自定the_category的輸出結構

通過WordPress的過濾器the_category來自定義輸出內容。方法很簡單&#xff0c;但是很實用。以下是一個示例代碼&#xff1a; function custom_the_category($thelist, $separator , $parents ) {// 獲取當前文章的所有分類$categories get_the_category();if (empty($categ…

2025牛客寒假算法基礎集訓營6

A.復制雞 思路&#xff1a;比較簡單&#xff0c;略。 void solve() {int n, m, k;cin >> n;int last -1, ans 0;for (int i 0; i<n; i){int x;cin >> x;if (x ! last){ans;}last x;}cout << ans << endl; } B.好伙計猜拳 思路&#xff1a;這…

【C#】詳解C#中的內存管理機制

文章目錄 前言一、C#內存管理的基本機制&#xff08;1&#xff09;托管堆&#xff08;Managed Heap&#xff09;&#xff08;2&#xff09;垃圾回收&#xff08;Garbage Collection&#xff09;&#xff08;3&#xff09;棧內存 二、 開發者需要主動管理的場景&#xff08;1&am…

ROS云課基礎題庫-01C++案例-甜甜圈

效率是核心&#xff0c;但效率高的教程會忽略掉非常多的細節。 解決問題的思路和細節對于一個問題的有效求解至關重要。 資料 云課五分鐘-02第一個代碼復現-終端甜甜圈C-CSDN博客 從云課五分鐘到五秒鐘焦慮的甜甜圈向前沖-CSDN博客 說明 復現重要性沒有那么大&#xff0c;…

C/S架構與B/S架構

一、定義與核心區別 C/S架構&#xff08;Client/Server&#xff0c;客戶端/服務器&#xff09; 客戶端需安裝專用軟件&#xff08;如QQ、企業ERP系統&#xff09;&#xff0c;直接與服務器通信。服務器端通常包括數據庫和業務邏輯處理1。特點&#xff1a;客戶端承擔部分計算任務…

【匯編語言】單片機程序執行過程

一、任務需求 指示燈LED4閃爍&#xff0c;亮0.5秒&#xff0c;滅0.5秒&#xff0c;無限循環 二、針對硬件的編程 1、確定原理圖2、確定硬件的物理關系 三、設計步驟 1.用自己的語言描述工作流程 1.1指示燈LED4亮1.2延時0.5秒1.3指示燈LED4滅1.4延時0.5秒1.5跳轉到1.1步 …

openharmony 富對富 WiFi投屏設計

castengine_wifi_display部件別名Sharing&#xff0c;媒體分享之意。擁有流媒體協議接入、媒體預覽、媒體轉分發能力&#xff0c;受投播管理服務管理和調用&#xff0c;是音視頻投播子系統重要的流媒體能力部件。提供一套簡單的Native C的接口&#xff0c;主要業務是Miracast投…

Android項目優化同步速度

最近項目需要使用ffmpeg&#xff0c;需要gradle配置引入ffmpeg庫&#xff0c;發現原來通過google官方的代碼倉&#xff0c;下載太慢了&#xff0c;每秒KB級別的速度。&#xff08;之前下gradle/gradle plugin都不至于這么慢&#xff09;&#xff0c;于是想到配置國內鏡像源來提…

Git 如何配置多個遠程倉庫和免密登錄?

自我簡介&#xff1a;4年導游&#xff0c;10年程序員&#xff0c;最近6年一直深耕低代碼領域&#xff0c;分享低代碼和AI領域見解。 通用后臺管理系統 代號&#xff1a;虎鯨 緣由 每次開發后臺界面都會有很多相同模塊&#xff0c;嘗試抽離出公共模塊作為快速開發的基座。 目標…

JVM組成面試題及原理

Java Virtual Machine&#xff08;JVM&#xff09;是Java程序的運行環境&#xff08;java二進制字節碼的運行環境&#xff09; 好處&#xff1a; 一次編寫&#xff0c;到處運行自動內存管理&#xff0c;垃圾回收機制 JVM由哪些部分組成&#xff0c;運行流程是什么&#xff1f;…

江科大51單片機筆記【11】AT24C02數據存儲秒表

一、數據存儲 先把需要的模塊導入做個測試 //main.c#include <REGX52.H> #include " LCD1602.h" #include " Key.h"void main() {LCD_Init();LCD_ShowString(1,1,"Hello");while(1){}} 代碼思路 分成兩塊寫&#xff0c;一塊寫I2C.c&am…

Hadoop的運行模式

Hadoop的運行模式 1、本地運行模式2、偽分布式運行模式3、完全分布式運行模式4、區別與總結 Hadoop有三種可以運行的模式&#xff1a;本地運行模式、偽分布式運行模式和完全分布式運行模式 1、本地運行模式 本地運行模式無需任何守護進程&#xff0c;單機運行&#xff0c;所有…

2.裝飾器模式

概述 裝飾器模式&#xff1a;在原有結構&#xff0c;動態地為對象添加職責&#xff0c;它是一種靈活的擴展功能方式。 業務場景&#xff1a;創建訂單 假設你正在開發一個電商系統&#xff0c;用戶在創建訂單時可以選擇不同的服務&#xff08;如折扣、配送、禮品包裝等&#…

C++11新特性 10.初始化列表、initializer_list

目錄 一.初始化列表 使用示例 二.initializer_list 1.基本概念 2.使用示例 一.初始化列表 C11提供的統一初始化方式&#xff0c;實現直接對數據初始化 使用示例 /* 初始化列表 */ #include <iostream> using namespace std; class Person { public:Person(string…

Vue 的 render 函數如何與 JSX 結合使用

在 Vue.js 中&#xff0c;render 函數提供了一種更底層的方式來創建虛擬 DOM 節點&#xff0c;而 JSX 則是一種 JavaScript 的語法擴展&#xff0c;允許開發者在 JavaScript 代碼中直接編寫類似 HTML 的結構。結合使用 render 函數和 JSX 可以帶來更高的靈活性和編程能力&#…

基于DeepSeek的智慧醫藥系統(源碼+部署教程)

運行環境 智慧醫藥系統運行環境如下&#xff1a; 前端&#xff1a; HTMLCSS后端&#xff1a;Java AIGCDeepseekIDE工具&#xff1a;IDEA技術棧&#xff1a;Springboot HTMLCSS MySQL 主要角色 智慧醫藥系統主要分為兩個角色。 游客 尚未進行注冊和登錄。具備登錄注冊、…