Tất cả hệ thống hoạt động bình thường 21 tiền mã hóa được chấp nhận · Hoan nghênh Monero Chính sách không KYC
ChainVPS

Mật khẩu · không KYC

Lưu Trữ Vaultwarden Trên VPS Offshore

Tự vận hành vault mật khẩu tương thích Bitwarden trên phần cứng do chính bạn kiểm soát, tại khu vực pháp lý thân thiện với quyền riêng tư, thanh toán bằng crypto mà không cần gắn danh tính.

Đó là gì

Vaultwarden là một máy chủ Bitwarden không chính thức, nhẹ, được viết bằng Rust và nói cùng một API như Bitwarden, nên mọi ứng dụng khách Bitwarden chính thức (tiện ích mở rộng trình duyệt, desktop, iOS/Android, CLI) đều đồng bộ được với nó. Nó lưu trữ các vault đã mã hóa cho mật khẩu, passkey, TOTP seed, thẻ và ghi chú bảo mật, cùng với organization, tệp đính kèm và các công cụ quản trị, trong khi chỉ tiêu tốn một phần nhỏ RAM so với stack chính thức.

Tại sao nên lưu trữ offshore

Vault mật khẩu của bạn là tài sản nhạy cảm nhất mà bạn sở hữu, vì vậy ai đang giữ máy chủ và theo luật pháp nào cũng quan trọng không kém gì bản thân crypto. Một VPS no-KYC, thanh toán bằng crypto, đặt tại khu vực ưu tiên quyền riêng tư (NL/CH/RO/IS) có nghĩa là chiếc máy lưu trữ các vault đã mã hóa của bạn không gắn với danh tính pháp lý của bạn, không chịu sự chi phối của trát đòi hầu tòa từ Mỹ/Anh (US/UK), và không thể bị một nhà cung cấp thanh toán khóa tài khoản khi bạn bị deplatform.

Triển khai

Một cấu hình mẫu hoạt động thực tế

Sao chép nội dung này vào một instance ChainVPS mới. Thay thế các placeholder, sau đó khởi chạy.

docker-compose.yml
# 1) DNS: point vault.example.com -> your ChainVPS IP (A/AAAA record)
# 2) Generate an Argon2 ADMIN_TOKEN (do NOT use a plain string):
#    docker run --rm -it vaultwarden/server /vaultwarden hash
#    paste the resulting '$argon2id$...' string as ADMIN_TOKEN below (single-quote it in .env)
# 3) Save as docker-compose.yml, create the Caddyfile shown, then: docker compose up -d

services:
  vaultwarden:
    image: vaultwarden/server:1.32.7
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"      # must match the public URL exactly
      SIGNUPS_ALLOWED: "false"                  # create your account, then keep this false
      INVITATIONS_ALLOWED: "true"
      ADMIN_TOKEN: "${ADMIN_TOKEN}"             # Argon2 hash from step 2, kept in .env
      WEBSOCKET_ENABLED: "true"                 # live sync (served on the main port)
      SENDS_ALLOWED: "true"
      ROCKET_PORT: "80"
    volumes:
      - ./vw-data:/data                         # vaults, attachments, sqlite db, keys
    networks: [vw]
    # no host port published: only Caddy talks to it over the internal network

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"                           # HTTP/3
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config
    networks: [vw]
    depends_on: [vaultwarden]

networks:
  vw:

# ---- Caddyfile (same directory) ----
# vault.example.com {
#     encode gzip
#     reverse_proxy vaultwarden:80
# }
# Caddy fetches and renews a Let's Encrypt cert automatically; HTTPS is mandatory
# because Bitwarden clients use WebCrypto, which only runs on a secure origin.

Tường lửa

Các cổng cần mở

CổngGiao thứcMục đích
443TCPVault HTTPS + đồng bộ ứng dụng khách + WebSocket (qua Caddy); cổng duy nhất bắt buộc phải công khai
80TCPChuyển hướng HTTP -> HTTPS và cấp chứng chỉ ACME/Let's Encrypt
443UDPHTTP/3 (QUIC) tùy chọn để đồng bộ ứng dụng khách nhanh hơn

Chọn đúng cấu hình

Gói nào bạn cần

Nhẹ (1-5 người dùng, cá nhân/gia đình)

VPS Nano/Small (1 vCPU, 1-2 GB RAM)

Vaultwarden khi rảnh chỉ dùng khoảng 15-30 MB RAM với SQLite; một gói Nano là quá đủ. Dung lượng lưu trữ rất nhỏ trừ khi bạn lưu các tệp đính kèm lớn.

Trung bình (nhóm nhỏ / 10-40 người dùng, các tổ chức)

VPS Pro (2 vCPU, 4 GB RAM)

Đủ dư địa cho các lượt đồng bộ đồng thời, tệp đính kèm, và chạy Caddy cùng fail2ban/sao lưu trên cùng một máy.

Nặng (50+ người dùng, nhiều tổ chức, tệp đính kèm lớn, backend MySQL/Postgres)

VPS Pro (high tier) or entry Dedicated

Chuyển từ SQLite sang Postgres/MySQL và đặt các tệp đính kèm trên một gói Storage hoặc ổ đĩa lớn hơn; CPU riêng (dedicated) giúp giữ độ trễ đồng bộ ổn định dưới tải cao.

Vị trí tốt nhất: Hãy chọn một địa điểm ưu tiên quyền riêng tư của ChainVPS cho vault của bạn: Thụy Sĩ (CH) và Iceland (IS) có truyền thống bảo vệ dữ liệu và quyền riêng tư vững chắc, Hà Lan (NL) mang lại kết nối tuyệt vời cùng luật bảo vệ dữ liệu của EU, còn Romania (RO) hoặc Moldova (MD) nằm ngoài các khối chia sẻ giám sát khắt khe nhất. Hãy chọn địa điểm gần nhất về mặt địa lý với nơi bạn và người dùng của bạn đồng bộ, để giảm độ trễ, vì dù sao vault cũng được mã hóa phía client.

Khóa chặt bảo mật

Checklist tăng cường bảo mật

  • Giữ SIGNUPS_ALLOWED=false sau khi đã tạo tài khoản của bạn và dùng INVITATIONS để thêm người dùng; một endpoint đăng ký mở trên một vault công khai là miếng mồi cho lạm dụng.
  • Luôn đặt ADMIN_TOKEN thành một hash Argon2 được tạo bằng 'vaultwarden hash' (không bao giờ dùng một chuỗi văn bản thuần), hoặc vô hiệu hóa hoàn toàn bảng điều khiển /admin bằng cách để ADMIN_TOKEN trống sau khi đã cấu hình xong. Cân nhắc dùng firewall để giới hạn /admin chỉ cho IP của bạn.
  • Chỉ cho phép HTTPS và để Caddy tự quản lý chứng chỉ Let's Encrypt; các ứng dụng khách Bitwarden từ chối chạy mã hóa qua HTTP thuần, và một chứng chỉ hợp lệ ngăn chặn tấn công downgrade/MITM khi đồng bộ.
  • Sao lưu thư mục ./vw-data (đặc biệt là rsa_key.pem, config.json, db.sqlite3 và các tệp đính kèm) theo lịch trình đến một vị trí bên ngoài máy chủ, chẳng hạn như một gói ChainVPS Storage; mất rsa_key.pem sẽ làm mất hiệu lực toàn bộ session/token hiện có.
  • Chạy fail2ban trên log của Vaultwarden (LOG_FILE + LOG_LEVEL) để chặn các nỗ lực đăng nhập brute-force, đồng thời yêu cầu mọi người dùng bật 2FA; chỉ mở cổng 80/443 qua ufw/nftables và chặn mọi thứ còn lại.

Câu hỏi

Hosting Vaultwarden — FAQ

Vaultwarden có giống với Bitwarden không?

Đây là một triển khai máy chủ riêng biệt, nhẹ, cho API của Bitwarden. Nó không phải do Bitwarden Inc. tạo ra, nhưng các ứng dụng và tiện ích mở rộng Bitwarden chính thức vẫn hoạt động được với nó, và nó hỗ trợ vault, organization, tệp đính kèm, Sends và passkey. Đây là lựa chọn lý tưởng cho cá nhân và các nhóm nhỏ muốn tự lưu trữ (self-hosting) mà không phải gánh mức tiêu tốn tài nguyên của stack máy chủ chính thức.

Dữ liệu của tôi có an toàn không nếu máy chủ bị tịch thu hoặc nhà cung cấp bị xâm phạm?

Các vault được mã hóa và giải mã ở phía client bằng một khóa suy ra từ mật khẩu chính (master password) của bạn, do đó máy chủ chỉ lưu trữ dữ liệu đã mã hóa (ciphertext). Việc lưu trữ trên một máy chủ no-KYC tại khu vực pháp lý thân thiện với quyền riêng tư giúp giảm số bên có thể ép buộc truy cập, nhưng bạn vẫn phải dùng một mật khẩu chính mạnh, bật 2FA, và giữ DOMAIN chạy trên HTTPS để bảo vệ chính luồng đăng nhập.

Tôi có cần HTTPS không, hay có thể dùng một địa chỉ IP thuần?

Bạn cần HTTPS với một chứng chỉ hợp lệ và một tên miền. Các ứng dụng khách Bitwarden sử dụng WebCrypto API của trình duyệt, vốn chỉ hoạt động trên một origin an toàn, nên một thiết lập http:// thuần hoặc chỉ dùng IP trần sẽ đồng bộ thất bại. Dịch vụ Caddy đi kèm sẽ tự động cấp và gia hạn một chứng chỉ Let's Encrypt miễn phí.

SQLite hay MySQL/Postgres?

SQLite (mặc định) hoàn toàn ổn và nhanh nhất cho sử dụng cá nhân cũng như các nhóm nhỏ lên tới vài chục người dùng. Chỉ chuyển sang MySQL hoặc PostgreSQL cho các triển khai nhiều tổ chức quy mô lớn, hoặc khi bạn muốn sao lưu và nhân bản (replication) cơ sở dữ liệu tập trung; hãy đặt DATABASE_URL tương ứng.

Làm sao để thêm người dùng mà không mở đăng ký công khai?

Giữ SIGNUPS_ALLOWED=false và INVITATIONS_ALLOWED=true, sau đó mời người dùng từ một Organization (hoặc qua bảng điều khiển /admin). Người dùng được mời sẽ nhận được lời mời và có thể đăng ký dù đăng ký công khai đã bị đóng, giúp endpoint này không bị lạm dụng.

Tôi có thể thanh toán cho VPS mà không cần cung cấp giấy tờ tùy thân không?

Có. ChainVPS là no-KYC và chấp nhận thanh toán bằng tiền mã hóa, vì vậy máy chủ lưu trữ các vault đã mã hóa của bạn không bị gắn với danh tính pháp lý của bạn hay với một đơn vị xử lý thẻ có thể đóng băng tài khoản.

Khởi tạo ngay Vaultwarden
trong 60 giây tới.

Băng thông không giới hạn · Đã bao gồm DDoS · 21 loại tiền điện tử · Không KYC.