Tự tạo kho lưu trữ mật khẩu riêng thông qua Docker chạy trên NAS, homelab PC

Trung Dt
18/2/2026 8:41Phản hồi: 10
EditEdit
Tự tạo kho lưu trữ mật khẩu riêng thông qua Docker chạy trên NAS, homelab PC
Hướng dẫn anh em cài đặt Vaultwarden trên NAS hoặc homelab PC bằng Docker, tự host hệ thống mật khẩu tương thích Bitwarden, kiểm soát toàn bộ dữ liệu.

Bitwarden hiện là một trong những nền tảng quản lý mật khẩu mã nguồn mở uy tín nhất thế giới, với hơn 10 triệu người dùng và hàng chục nghìn tổ chức doanh nghiệp đang triển khai trong môi trường thực tế, nhờ cơ chế mã hóa end-to-end và các đợt kiểm toán bảo mật độc lập định kỳ.

Vaultwarden là một máy chủ tương thích API Bitwarden do cộng đồng phát triển bằng Rust, tối ưu tài nguyên, chạy nhẹ trên NAS hoặc homelab PC nhưng vẫn sử dụng đầy đủ ứng dụng Bitwarden chính thức để đăng nhập và đồng bộ dữ liệu.

Trong bài viết này, mình sẽ giới thiệu cách cài đặt Vaultwarden thông qua Docker (Container Manager) chạy trên NAS hoặc homelab PC, giúp anh em tự xây dựng một hệ thống quản lý mật khẩu riêng, kiểm soát hoàn toàn dữ liệu trước khi đi vào các bước cấu hình chi tiết bên dưới.

Mô hình này phù hợp nếu bạn đã có NAS chạy 24/7 và muốn sử dụng auto-fill trên điện thoại lẫn trình duyệt với kết nối HTTPS riêng.


Hướng dẫn này mình đã chạy được, nên nếu có gì không ổn trong các bước anh em cứ mạnh dạn góp ý thêm.

Chuẩn bị

  • NAS hoặc máy tính đã cài hệ điều hành và Docker, ở đây mình tiếp tục sử dụng NAS Synology đã cài Container Manager (DSM 7.2+).
  • Một tên miền riêng (khuyến nghị) hoặc DDNS Synology.
  • Đã cấu hình chứng chỉ SSL (Let's Encrypt) trên NAS.

Cấu hình

Bước 1: Tạo thư mục lưu trữ dữ liệu (Volume Mapping)

Mục tiêu: đảm bảo dữ liệu không mất khi update container.
Mở File Station.
Truy cập thư mục docker.
Tạo folder mới:
/docker/vaultwarden
Thư mục này sẽ được mount vào container tại đường dẫn /data.

Bước 2: Tải Image Vaultwarden

Mở Container Manager.

vaultwarden-synology-1.jpg
Vào tab Registry.
  • Tìm kiếm: vaultwarden/server
  • Chọn bản ghi chính thức và nhấn Download.
  • Tag: chọn latest.
Sau khi tải xong, chuyển sang tab Image.

Quảng cáo


Chọn image vừa tải → nhấn Run.

Bước 3: Cấu hình Container (Quan trọng)

1. General Settings

  • Container Name: đặt tên để dễ nhận biết ví dụ là vaultwarden
  • Bật Enable auto-restart
  • Giới hạn RAM: 256MB–512MB (đủ dư thừa cho nhu cầu cá nhân)
vaultwarden-synology-2.jpg

2. Port Settings

  • Local Port: 8080 hoặc port khác tùy chỉnh
  • Container Port: 80 (phải giữ nguyên là 80)
Local Port có thể đổi (ví dụ 8081, 9090…), miễn không trùng dịch vụ khác

3. Volume (Mount dữ liệu)

  • Nhấn Add Folder
  • Chọn: /volume1/docker/vaultwarden
  • Mount path (bắt buộc chính xác): /data
vaultwarden-synology-3.jpg

4. Environment Variables

Thêm biến: SIGNUPS_ALLOWED = true


vaultwarden-synology-4.jpg

Quảng cáo


Ý nghĩa: true: cho phép tạo tài khoản mới (cần cho lần đầu)
Sau khi tạo xong tài khoản admin → đổi lại thành false
Nhấn Next → Done để chạy container.

Kiểm tra truy cập nội bộ: http://IP-NAS:8080
Nếu gặp lỗi này thì nó đang chưa chạy qua https
vaultwarden-synology-5.jpg
Vaultwarden chỉ hoạt động đầy đủ auto-fill trên iOS/Android khi dùng HTTPS nên phần hướng dẫn nằm bên dưới

Bước 4: Cấu hình HTTPS bằng Reverse Proxy (Bắt buộc)

Vaultwarden chỉ hoạt động đầy đủ auto-fill trên iOS/Android khi dùng HTTPS.

Cấu hình bằng Cloudflare thông qua tên miền riêng
Trước tiên anh em cần có tên miền và cấu hình theo hướng dẫn ở bài này

Mình tạo thêm một sub-domain dạng là pass.tên-miền-riêng.net để dùng
Kết quả:

Cấu hình bằng Synology, dùng Reverse Proxy:

1. Tạo Reverse Proxy

Vào: Control Panel → Login Portal → Advanced → Reverse Proxy → Create

2. Cấu hình Source

  • Protocol: HTTPS
  • Hostname: ví dụ pass.yourname.synology.me
  • Port: 443

3. Cấu hình Destination

  • Protocol: HTTP
  • Hostname: localhost
  • Port: 8010 (cổng local trong ví dụ hình minh họa bài này)

4. Gán chứng chỉ SSL

Vào:
Control Panel → Security → Certificate
Cấp chứng chỉ Let's Encrypt cho domain trên.
Gán chứng chỉ đó cho Reverse Proxy vừa tạo.
Sau khi hoàn tất, truy cập: https://pass.yourname.synology.me

Nếu vào được giao diện Vaultwarden với biểu tượng khóa bảo mật → thành công.
vaultwarden-synology-6.jpg
Hình này mình dùng minh họa cho truy cập tên miền từ Cloudflare Tunnel

Bước 5: Kết nối ứng dụng di động

Tải ứng dụng Bitwarden trên iOS hoặc Android.


Thiết lập Server riêng:

Mở app.


Ở màn hình đăng nhập → nhấn biểu tượng Settings (⚙️).
Tại mục Server URL, nhập: https://pass.yourname.synology.me
Nhấn Save.
Đăng nhập bằng tài khoản vừa tạo trên web.
Kiểm tra & Hardening cơ bản

Bước 6: Mở rộng thiết lập

Sau khi hệ thống chạy ổn định:


  • Đổi SIGNUPS_ALLOWED = false
  • Thiết lập mật khẩu mạnh + bật 2FA
  • Backup định kỳ thư mục /docker/vaultwarden
  • Không mở port ứng dụng của Vaultwarden trực tiếp ra internet
  • Luôn truy cập qua HTTPS

Triển khai Vaultwarden trên Synology bằng Container Manager giúp bạn:
  • Tự chủ dữ liệu mật khẩu
  • Tương thích hoàn toàn với hệ sinh thái Bitwarden
  • Hoạt động ổn định với tài nguyên rất thấp
  • Không cần mở port nếu kết hợp thêm Cloudflare Tunnel
Với nhu cầu cá nhân hoặc gia đình nhỏ, đây là mô hình tối ưu giữa bảo mật – chi phí – hiệu năng.

Nếu anh em chưa thực sự cần tự xây dựng một hệ thống lưu trữ mật khẩu riêng trên NAS, có thể tìm hiểu thêm về hệ sinh thái chính thức của Bitwarden tại website: https://bitwarden.com/
Dịch vụ cloud của Bitwarden phù hợp với đa số người dùng phổ thông, triển khai nhanh, không cần cấu hình server, vẫn đảm bảo chuẩn mã hóa end-to-end và hỗ trợ đầy đủ extension trình duyệt, app di động.

Cá nhân mình hiện đang sử dụng Synology C2 Password thay vì Vaultwarden. Lý do là dịch vụ này tích hợp sẵn T-OTP (2FA) ngay trong hệ thống quản lý mật khẩu, không cần dùng thêm ứng dụng xác thực bên ngoài. Ngoài ra, khả năng đồng bộ và hỗ trợ đa nền tảng (trình duyệt, iOS, Android) cũng khá ổn định, phù hợp với nhu cầu sử dụng hằng ngày.

Hãy mạnh dạn chia sẻ review về một món đồ, một dịch vụ mà bạn thấy hài lòng nhé. Thông tin của bạn giúp được cho rất rất nhiều người luôn đó, cảm ơn bạn trước :x

10 bình luận

Xu hướng

Viết bài hướng dẫn xong kết bằng câu không dùng mà lại dùng Synology 😆)
@VNXQ Cú bẻ lái đầy bất ngờ 🤣
@VNXQ đâu phải ai cũng có phần cứng Synology nas á, trong khi C2 Password là cloud, đó là lý do ;;)
Tôi dùng keepass sync qua syncthings. Đơn giản. Gọn và tiện
Bitwarden có otp nhé. Bản trả phí thì dùng chung app, còn không thì phải cài thêm app authen của bit. Còn muốn nhàn nữa thì dùng cái Keyguard cũng được. Bản trên github thì là pre dùng được cả pass và lưu ảnh + otp luôn, còn trên play store là bản trả phí trong app.
Cua gắt quá, cơ mà cảm ơn sốp hướng dẫn, để thử cái coi sao (y)
Theo mình thì dùng bitwarden.com vẫn ổn hơn để tránh downtime của server và chắc chắn là bảo mật và chống tấn công tốt hơn con self host tại nhà.
Vaultwarden tích hợp sẵn TOTP luôn còn phải nhảy qua c2 làm gì
dùng bitwarden cũng có 2FA, bản trả phí cũng rẽ cũng ok, vậy cho chắc, đc cập nhật thường xuyên nữa
mình chơi Proton

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2026 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 351/56 Lê Văn Sỹ, P. Nhiêu Lộc, Tp HCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép cung cấp dịch vụ MXH số 134/GP-BVHTTDL, Ký ngày: 30/09/2025