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

Cách tra cứu thông tin cá nhân qua số CCCD hoặc Mã số thuế trên Excel

Trong bài viết này, mình sẽ hướng dẫn bạn cách tra cứu họ tên và địa chỉ từ số CCCD/ hoặc mã số thuế cá nhân (MST) trên Excel. Đây là cách tra cứu nhanh chóng, tiện lợi, giúp bạn tiết kiệm được thời gian và công sức. 1. Tìm hiểu về CCCD/ MST cá nhân Căn cước công dân (CCCD) là một loại giấy tờ tùy thân rất quan trọng của tất cả công dân Việt Nam, được cơ quan Công an cấp. Mỗi CCCD có một mã QR code riêng, chứa tất cả các thông tin cá nhân của công dân, giúp cho việc xác thực danh tính công dân được nhanh chóng, chính xác hơn. Mã số thuế cá nhân (MST) là một mã số do Cơ quan quản lý thuế cấp cho mỗi cá nhân đăng ký thuế khi họ thực hiện nghĩa vụ nộp thuế vào Ngân sách nhà nước. 2. Hướng dẫn tra cứu số CCCD/ MST ra họ tên và địa chỉ trên Excel Bước 1. Tải BuilderTV Add-in tại đây . Bước 2. Sử dụng các hàm sau để tra cứu họ tên và địa chỉ: - Hàm hoTen(Số_CCCD/MST) để tra cứu Họ tên của người có số CCCD/ MST cần tra cứu. - Hàm diaChi(Số_CCCD/MST) để tra cứu Địa chỉ của người có số CCCD...

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 ...