Chuyển đến nội dung chính

Hướng dẫn selfhost Vaultwarden (Unofficial Bitwarden) miễn phí bằng Fly.io

Hướng Dẫn Tạo Server Vaultwarden Trên Fly.io


Bitwarden là một dịch vụ quản lý và đồng bộ mật khẩu hiệu quả. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tự tạo server để chạy Vaultwarden - một nhánh của Bitwarden được viết lại bằng ngôn ngữ Rust nhằm cải thiện tốc độ và hiệu suất. Vaultwarden là mã nguồn mở và cung cấp nhiều tính năng nâng cao của Bitwarden Pro mà không yêu cầu phần cứng nặng nề như Bitwarden gốc.

Bước 1: Tạo Tài Khoản Fly.io

  • Truy cập Fly.io để tạo tài khoản.
  • Lưu ý: Fly.io yêu cầu thẻ Credit Card và cung cấp miễn phí 5 USD/tháng. Nếu sử dụng vượt mức, bạn sẽ bị trừ tiền. Chi tiết thêm về chính sách giá tại Fly App Pricing.

Bước 2: Tải PowerShell

  • Download PowerShell từ trang chủ.

Bước 3: Cài Đặt Flyctl

  • Mở PowerShell và chạy lệnh sau để cài đặt flyctl:
  pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex"

Bước 4: Đăng Nhập Fly.io

  • Đăng nhập vào Fly.io bằng lệnh:
  fly auth login

Bước 5: Khởi Tạo Dự Án

  • Khởi tạo dự án mới bằng lệnh:
  fly launch

Bước 6: Chỉnh Sửa File fly.toml

  • Mở file fly.toml bằng Notepad và chỉnh sửa như sau:
  app = "buildertv" # Thay "buildertv" bằng tên của bạn
  kill_signal = "SIGINT"
  kill_timeout = 5
  primary_region = "sin" # Thay đổi theo vùng đã chọn
  processes = []

  [env]
    SIGNUPS_ALLOWED = "true" # Đặt "false" nếu không muốn cho phép đăng ký mới

  [build]
    image = "vaultwarden/server:latest"

  [mounts]
    source = "vw_data"
    destination = "/data"

  [experimental]
    auto_rollback = true

  [[services]]
    http_checks = []
    internal_port = 80
    processes = ["app"]
    protocol = "tcp"
    script_checks = []
    [services.concurrency]
      hard_limit = 25
      soft_limit = 20
      type = "connections"

    [[services.ports]]
      force_https = true
      handlers = ["http"]
      port = 80

    [[services.ports]]
      handlers = ["tls", "http"]
      port = 443

    [[services.tcp_checks]]
      grace_period = "1s"
      interval = "15s"
      restart_limit = 0
      timeout = "2s"

Bước 7: Tạo Phân Vùng 1GB

  • Tạo phân vùng dữ liệu bằng lệnh:
  fly volumes create vw_data --size 1

Bước 8: Tạo ADMIN_TOKEN

  fly secrets set ADMIN_TOKEN='YOUR_TOKEN_HERE'

Bước 9: Deploy

  • Triển khai ứng dụng bằng lệnh:
  fly deploy

Bước 10: Tạo Tài Khoản

  • Tạo tài khoản trên host của bạn.

Bước 11: Chuyển Dữ Liệu

  • Xuất dữ liệu từ server Bitwarden cũ (nếu có) và nhập vào tài khoản mới của bạn.

Sao Lưu Dữ Liệu

Fly.io tự động chụp ảnh nhanh các phân vùng của bạn hàng ngày và giữ trong 5 ngày. Để sao lưu dữ liệu thủ công, bạn có thể sử dụng tập lệnh PowerShell dưới đây:

Tạo một tệp mới backup.ps1 trong cùng thư mục với fly.toml và thêm mã sau:

$DATE = get-date -Format "yyyy-MM-dd"
$INSTALL_SQLITE = "apt-get update && apt-get install sqlite3 -y"
$BACKUP_DB = "sqlite3 /data/db.sqlite3 '.backup /data/db.bak'"
$CREATE_ARCHIVE = "tar -czf $DATE.tar.gz data"
fly ssh console -q -C "bash -c ""$INSTALL_SQLITE && $BACKUP_DB && $CREATE_ARCHIVE"" "
fly sftp get "$DATE.tar.gz"

Chạy tập lệnh bằng PowerShell:

.\backup.ps1

Khi tập lệnh hoàn thành, bạn sẽ có một tệp sao lưu dạng yyyy-MM-dd.tar.gz trong thư mục.

Khôi Phục Cơ Sở Dữ Liệu

Để khôi phục cơ sở dữ liệu, chạy lệnh sau:

rm db.sqlite3 && mv db.bak db.sqlite3

Tự Động Hóa Sao Lưu Hàng Ngày

Để tự động hóa quá trình sao lưu hàng ngày vào lúc 9 giờ sáng, bạn có thể tạo một tác vụ theo lịch bằng PowerShell:

$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Users\hoang\hoangfly\backup.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "BackupTask" -Description "Daily backup at 9 AM"

Hy vọng bài viết này sẽ giúp bạn dễ dàng thiết lập và quản lý server Vaultwarden của riêng mình trên Fly.io.


Nhận xét

Bài đăng phổ biến từ blog này

Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA

  Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA Khi làm việc với các tài liệu Word tải về, bạn có thể gặp phải tình trạng tài liệu chứa quá nhiều Style tùy chỉnh không cần thiết, khiến việc định dạng trở nên rối rắm. Bài viết này sẽ hướng dẫn bạn cách xóa toàn bộ các Style tùy chỉnh và chỉ giữ lại các Style mặc định của Word bằng cách sử dụng VBA (Visual Basic for Applications). Bước 1: Kích hoạt Developer Tab trong Word Trước khi sử dụng VBA, bạn cần kích hoạt tab Developer : Mở Word . Vào File > Options . Trong cửa sổ Word Options , chọn Customize Ribbon . Trong danh sách bên phải, đánh dấu vào ô Developer và bấm OK . Bước 2: Mở VBA Editor Nhấn Alt + F11 để mở VBA Editor . Trong cửa sổ VBA, vào menu Insert > Module để tạo một module mới. Bước 3: Dán đoạn mã VBA Dán đoạn mã sau vào module mới: Sub DeleteCustomStyles() Dim s As Style For Each s In ActiveDocument.Styles If Not s.BuiltIn Then On Error Resume Next s.Delete ...

Tóm tắt Cuốn sách "Broken Money" của Lyn Alden

Cuốn sách "Broken Money" của Lyn Alden phân tích sự phát triển của tiền tệ qua các thời kỳ và những vấn đề của hệ thống tài chính hiện đại. Dưới đây là các ý tưởng và chủ đề chính của cuốn sách: 1. Sự tiến hóa của tiền tệ: Từ hàng hóa đến tiền pháp định: Ban đầu, các cộng đồng sử dụng các vật phẩm như vỏ sò, muối và lông thú làm phương tiện trao đổi. Với sự phát triển công nghệ, vàng và bạc trở thành tiền tệ chính do tính khan hiếm và bền vững. Sau đó, tiền pháp định (fiat) xuất hiện, được chính phủ phát hành mà không có sự bảo đảm bằng hàng hóa cụ thể. Shortform Ảnh hưởng của công nghệ: Sự ra đời của các công nghệ như điện báo đã thay đổi cách thức giao dịch và lưu trữ giá trị, dẫn đến sự chuyển đổi từ tiền tệ dựa trên hàng hóa sang tiền pháp định. Bitcoin News 2. Vấn đề của hệ thống tiền tệ hiện đại: Lạm phát và mất giá: Các chính phủ và ngân hàng trung ương có thể tạo ra tiền với chi phí thấp, dẫn đến lạm phát và làm giảm giá trị tiết kiệm của người dân. Võ Hoàng Hạc Sự...