NodeWarden: Giải pháp self-host Bitwarden trên Cloudflare Workers không cần VPS

07 tháng 4, 2026·6 phút đọc

NodeWarden là lựa chọn thay thế mới cho Vaultwarden, cho phép chạy máy chủ Bitwarden trực tiếp trên Cloudflare Workers với kiến trúc serverless. Công cụ này giúp người dùng tiết kiệm chi phí VPS, loại bỏ thủ tục bảo trì và cấu hình SSL, đồng thời hỗ trợ đầy đủ các tính năng quản lý mật khẩu cá nhân.

NodeWarden: Giải pháp self-host Bitwarden trên Cloudflare Workers không cần VPS

NodeWarden: Giải pháp self-host Bitwarden trên Cloudflare Workers không cần VPS

Việc tự lưu trữ (self-hosting) Bitwarden thường đưa người dùng đến hai lựa chọn: sử dụng phiên bản chính thức (yêu cầu Docker và tốn nhiều RAM) hoặc chuyển sang Vaultwarden (viết lại bằng Rust, nhẹ hơn nhưng vẫn cần VPS, cấu hình SSL, cập nhật và sao lưu cơ sở dữ liệu định kỳ).

NodeWarden đưa ra con đường thứ ba: chạy trực tiếp trên Cloudflare Workers. Bạn không cần VPS, không quản lý SSL và không lo giám sát thời gian hoạt động (uptime). Gói miễn phí của Cloudflare là quá đủ để vận hành.

Sự khác biệt so với Vaultwarden

Vaultwarden là máy chủ Bitwarden bên thứ ba phổ biến nhất, được viết bằng Rust và chạy trên Docker. Trong khi đó, NodeWarden được viết bằng TypeScript và chạy trên Cloudflare Workers.

Tiêu chíVaultwardenNodeWarden
Ngôn ngữRustTypeScript
Triển khaiDocker / VPSCloudflare Workers
Cơ sở dữ liệuSQLite / MySQL / PostgreSQLCloudflare D1
Lưu trữ tệp đính kèmHệ thống tệp cục bộR2 hoặc KV
SSLTự cấu hìnhCloudflare xử lý
Bảo trìCập nhật và sao lưu thủ côngFork + đồng bộ tự động
Chi phíPhí VPS hàng thángGói miễn phí Cloudflare
Tổ chức/Bộ sưu tậpHỗ trợKhông hỗ trợ

Sự khác biệt lớn nhất nằm ở gánh nặng vận hành. Vaultwarden yêu cầu bạn phải duy trì một VPS. NodeWarden hoàn toàn không có máy chủ (serverless). Nhược điểm là không hỗ trợ tính năng Tổ chức hay Bộ sưu tập, do đó không phù hợp cho các nhóm làm việc.

Kiến trúc kỹ thuật

NodeWarden được xây dựng hoàn toàn trên cơ sở hạ tầng của Cloudflare:

  • Tính toán (Compute): Cloudflare Workers (serverless)
  • Cơ sở dữ liệu: D1 (SQLite của Cloudflare)
  • Lưu trữ tệp đính kèm: R2 (lưu trữ đối tượng) hoặc KV (key-value)
  • Giao diện: Preact (giao diện Web Vault gốc)

Có hai tùy chọn lưu trữ:

Tùy chọnCần thẻ tín dụngKích thước tệp tối đaHạn ngạch miễn phí
R2100 MB (tùy chỉnh)10 GB
KVKhông25 MiB (giới hạn cứng)1 GB

Nếu không muốn thêm thẻ tín dụng, hãy sử dụng chế độ KV. Hạn ngạch miễn phí 1 GB là quá đủ để quản lý mật khẩu cá nhân. Chỉ nên cân nhắc R2 nếu bạn cần lưu trữ các tệp đính kèm lớn.

So sánh tính năng

So với phiên bản Bitwarden chính thức, mọi tính năng cần thiết cho cá nhân đều được bao phủ:

  • Giao diện quản lý mật khẩu Web Vault
  • Đồng bộ đầy đủ (/api/sync), tương thích với các ứng dụng khách chính thức
  • Tải lên và tải xuống tệp đính kèm
  • Tính năng Send (văn bản và tệp)
  • Nhập/xuất dữ liệu (Bitwarden JSON/CSV, ZIP kèm tệp đính kèm)
  • Hỗ trợ TOTP và Steam TOTP
  • Đa người dùng (đăng ký bằng mã mời)
  • Gợi ý mật khẩu (xem trực tiếp trên web, không cần email)

NodeWarden còn bổ sung một tính năng mà phiên bản chính thức không có: trung tâm sao lưu đám mây. Hỗ trợ giao thức WebDAV và E3 để sao lưu định kỳ, bao gồm db.json, manifest.json và thư mục attachments/. Trong quá trình khôi phục, các tệp đính kèm bị thiếu sẽ được bỏ qua an toàn mà không để lại bản ghi lỗi.

Các tính năng không được hỗ trợ: tổ chức, bộ sưu tập, quản lý quyền hạn, SSO, SCIM, danh bạ doanh nghiệp. Đây là các tính năng nhóm không cần thiết cho sử dụng cá nhân.

Tương thích ứng dụng khách

Đã kiểm tra và hoạt động tốt trên:

  • Máy tính để bàn Windows
  • Ứng dụng di động (iOS / Android)
  • Tiện ích mở rộng trình duyệt (Browser extensions)
  • Máy tính để bàn Linux
  • Máy tính để bàn macOS (chưa được kiểm chứng hoàn toàn)

Triển khai

Triển khai qua Web (Khuyên dùng)

Cách tiếp cận đơn giản nhất, không cần công cụ cục bộ:

  1. Fork kho lưu trữ NodeWarden repo
  2. Truy cập bảng điều khiển Cloudflare Workers và tạo dự án mới
  3. Chọn Continue with GitHub, trỏ đến repo fork của bạn
  4. Giữ nguyên cài đặt mặc định và triển khai (deploy)
  5. Đối với chế độ KV, thay đổi lệnh triển khai thành npm run deploy:kv
  6. Đặt biến môi trường JWT_SECRET (ít nhất 32 ký tự ngẫu nhiên)

Toàn bộ quá trình mất dưới năm phút.

Triển khai qua CLI

git clone https://github.com/shuaiplus/NodeWarden.git
cd NodeWarden
npm install
npx wrangler login

# Chế độ R2
npm run deploy

# Chế độ KV
npm run deploy:kv

Phát triển cục bộ:

npm run dev      # Chế độ R2
npm run dev:kv   # Chế độ KV

Cập nhật tự động

Sau khi fork repo, hãy bật quy trình công việc Sync upstream trong GitHub Actions. Nó sẽ tự động đồng bộ với nguồn gốc (upstream) hàng ngày lúc 3 giờ sáng. Để cập nhật thủ công, hãy nhấn Sync fork → Update branch trên trang fork của bạn.

Nên chọn NodeWarden hay Vaultwarden?

Nếu bạn đã có một VPS ổn định, Vaultwarden là lựa chọn hoàn chỉnh hơn với cộng đồng người dùng lớn hơn. Các tính năng như tổ chức, bộ sưu tập và xác thực hai lớp (2FA) khi đăng nhập đều được hỗ trợ.

NodeWarden phù hợp với các trường hợp sau:

  • Không quản lý VPS: Không có máy chủ nghĩa là không cần bảo trì — không lo downtime, chứng chỉ SSL hết hạn hay ổ đĩa đầy.
  • Ngân sách bằng không: Gói miễn phí của Cloudflare dư dả cho việc sử dụng cá nhân.
  • Người dùng đơn lẻ: Không cần tính năng tổ chức và quản lý quyền hạn.
  • Sao lưu ngoại vi: Tính năng sao lưu WebDAV tích hợp tiện lợi hơn cách tiếp cận của Vaultwarden.

Rủi ro chính là kho mật khẩu của bạn chạy trên cơ sở hạ tầng của Cloudflare. D1 và Workers là các dịch vụ tương đối mới. Mặc dù Cloudflare khó có thể đóng cửa đột ngột, nhưng giới hạn và điều khoản của gói miễn phí có thể thay đổi bất cứ lúc nào. Việc sao lưu WebDAV định kỳ là rất quan trọng.

Cần lưu ý thêm rằng NodeWarden chưa trải qua quá trình kiểm tra bảo mật của cộng đồng ở mức độ tương tự như Vaultwarden. Trình quản lý mật khẩu là ứng dụng nhạy cảm cao — hãy tự đánh giá rủi ro trước khi sử dụng.

Tham khảo

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗