kiến thức Hướng dẫn selfhost Bitwarden miễn phí bằng Fly.io

  • Người tạo chủ đề Người tạo chủ đề hoanganh.pro
  • Ngày bắt đầu Ngày bắt đầu
claw-cloud
bên claw cloud này e đang thấy free 5$ mỗi tháng cho acc github trên 180 ngày có vaultwarden 0,04$ ngày bác nào vô chs thử xem ạ
 
1748862760007.png

Mấy bác cho e hỏi, e chọn vps free của google cloud. server us-central1-a (gói free tier) mà sao tiền E2 nó vẫn charge e nhiều thế nhỉ.

1748862886626.png

với cả cái E2 instance ram cũng tận 122GB/hour là sao các bác nhỉ?
 
Quan trọng "Total amount due" là bao nhiêu
PQFPHdI.jpeg
còn cái hiển thị kia, không nhầm là khi chưa tính discount của free tier
e thấy total là 0. Nhưng thấy nó trừ vào phần credit 300$ khi mới tạo. Mà e sắp hết 3 tháng, vầy thì nếu hết 3 tháng thì k còn gì để trừ nữa, sẽ charge vào thẻ mình mất :D
 
Bài hướng dẫn hay quá, tôi không bổ sung gì thêm được, vì sợ gây rối rắm cho ae. :love:

Cơ mà tôi xin cống hiến cho ae cách để có 1 con VPS, mà gần như free vĩnh viễn. (Nói thế thôi nhưng vẫn mất chi phí ban đầu nhé).

Thứ tôi nói đến là VM Instance/Compute Engine của Google Cloud, hiện tại chính sách của google thì họ free 1 con e2-micro (1 core / 1GB ram - Dư chạy vaultwarden) mỗi tháng, và đây là chính sách always free, tức là sẽ free mãi mãi (Cho đến khi đổi chính sách). Tôi đã dùng con này chạy vaultwarden chừng 3 năm nay và vẫn chưa thấy có vấn đề gì hết, và cũng chưa mất thêm đồng phí "server" nào từ hồi deploy đến giờ :go:

Chuẩn bị:
  • Thẻ visa/master để kích hoạt thanh toán.
  • 10$/250k (Tý tôi sẽ giải thích, nhưng coi như là mất chi phí ban đầu nhé).

B1: Đăng ký tài khoản Google - Thôi cái này tôi không giải thích thêm, chắc ae ai cũng có rồi.

B2: Khởi tạo project Google Cloud
Xem tệp đính kèm 2788942
Xem tệp đính kèm 2788944

Sau khi làm xong B2 thì đợi xíu để tạo project, khi nào tạo xong sẽ có thông báo để select project. Nếu không có thông báo, thì làm lại B2, nhưng ở ảnh 2, thay vì new project thì chọn project mới tạo.

- B3: Vào VM Instance - Kích hoạt Compute Engine. Tại bước này, nếu bác nào chưa dùng compute engine bao giờ thì sẽ được yêu cầu kích hoạt, nếu từng kích hoạt rồi thì sẽ vào thẳng danh sách các VM (Virtual Machine) luôn.
Xem tệp đính kèm 2788950
Xem tệp đính kèm 2788951

Đến bước này google sẽ yêu cầu enable billing, Cái này hướng dẫn nó cũng dễ như đi thanh toán đồ shopee đầy trên mạng, các bác nhập thẻ vào thanh toán thôi nhé.

Trước google sẽ charge ảo 1$, sau đó trả lại để link thẻ, giờ thì em không rõ, nhưng yên tâm là ko mất tiền đoạn này nhé. Em cũng dặn các bác chuẩn bị sẵn 10$/250k rồi nên việc link ko có vấn đề gì đâu. :go:

Đương nhiên là mấy bác ko có thẻ muốn trick lỏd với google thì cũng dc thôi, nhưng em ko khuyến khích nhé, cứ tiền thật thẻ thật mà phang, thì nó dễ thành công, chọn cái thẻ nào ít dùng ý, xong việc rồi khóa thẻ/khóa thanh toán online vào cho đỡ sợ mất tiền, hoặc thậm chí đóng thẻ luôn nếu ko dùng nữa. Cơ bản giờ trick lỏ nhiều nên google nó cũng hơi khắm đoạn verify, nên có failed việc link thẻ thì em cũng ko chịu trách nhiệm nhé :go:

Sau khi link thẻ xong thì các bác thực hiện lại B3, cho đến khi enable được thì khi chọn VM Instance sẽ đến được ảnh tại B4 nhé.

- B4: Tạo VM instance
Sau khi vào trạng VM Instance sẽ có giao diện như bên dưới, tạo instance mới thôi
Xem tệp đính kèm 2788958

Đến bước này thì ae nên đọc kỹ lại điều kiện free tier của Google Cloud tại đây nhé: Free cloud features and trial offer | Google Cloud Free Program (https://cloud.google.com/free/docs/free-cloud-features?_gl=1*8tt6si*_up*MQ..&gclid=Cj0KCQiA6Ou5BhCrARIsAPoTxrDxbVaFoggCJrwzkxqfH2uRcZNmDq9tCb4VZ3jYtUJh-jzx_juNUXkaAsKqEALw_wcB&gclsrc=aw.ds#compute)

Các bước bên dưới tạo instance theo đúng điều kiện free tier thì mới được free.
Xem tệp đính kèm 2788962
Name: Đặt tùy ý, đề default cũng dc
Region: Chọn us-central1, hoặc us-west1, us-east1 (Bắt buộc) recommend dùng us-central1
Zone: Chọn tùy ý, a, b, c đều được.
Config: Chọn E2 (Bắt buộc)

Xem tệp đính kèm 2788965

Preset: E2-Micro (Bắt buộc), không chọn preset khác, nếu không muốn trả tiền =)) Free cũng chỉ dc con máy vậy thôi, đủ dùng rồi.

Kéo xuống Boot Disk, chọn Change

Xem tệp đính kèm 2788979


Operating System: Ubuntu (Optional)
Version: 24.04LTS - X86 (Optional - Nhưng phải chọn x86, ko chọn ARM, vì VM là x86)
Boot Disk type: Standard persistence disk (Bắt buộc) - Điều kiện free tier
Size: <= 30GB được free, nên chọn max 30GB luôn cho nó thoải mái.

Xem tệp đính kèm 2788987

Firewall: tích allow http, https, vì vaultwarden hay là nginx thì cũng cần mở port để dùng.

Ấn Create.

Đợi xíu để google nó tạo instance, sau khi xong thì quay lại màn hình đầu tiên của B4. Các bác sẽ thấy VM của mình được hiển thị trên danh sách. :love:

Trong trang danh sách các bác có thể thấy instance của mình, thông tin IP cũng đầy đủ. Các bác chỉ cần ấn vào nút SSH, verify lại tài khoản google là sẽ ssh được vào VM trên google cloud luôn, ko cần setup lằng nhằng nhé. Còn bác nào thích vọc thì tự nghiên cứu thêm :nosebleed:

Đến đây rồi thì các bác vọc theo đúng công thức của bác ntth thôi, vì máy chạy ubuntu nên mọi chuyện quá dễ dàng rồi :byebye:


Phần cuối cực kỳ quan cmn trọng:
Google ghi là free, và thực tế dùng con VM này nó free thật, nhưng mỗi tháng các bác vẫn sẽ mất 1 loại chi phí, đó là tiền network (mạng).

Nhưng phí này rất rẻ, em dùng 3 - 4 năm nay, tháng đắt nhất mất 350 VND, tháng rẻ nhất là 23 VND (tính bằng VND chứ không phải ngàn đồng hay USD nhé), nên gần như là free, nhưng các bác vẫn phải thanh toán.

Do rule của Google Cloud, giao dịch charge tiền rẻ nhất có thể thực hiện là 10$/250k VND, nên các bác sẽ phải nạp vào google 250k (Tháng đầu tiên dùng chưa phải nạp, vì google tính phí kiểu trả sau, cuối tháng mới phải trả).

Sau khi nạp 250k xong thì tiền đó sẽ được lưu số dư bởi google, mỗi tháng sau đó Google nó tự động trừ vào số dư đó chứ ko đòi tiền các bác nữa. :go:

Đến hiện tại, sau hơn 3 năm dùng thì số dư của em đã tụt từ 250k xuống còn 230k. Vị chi hết 20k cho 3 năm, rẻ đúng không nào :byebye:

Còn số tiền còn lại em cứ bỏ đó cho trừ dần thôi, xác định đến khi nào google nó đổi chính sách thì kiếm cái dịch vụ nào của nó xài nốt cho hết rồi cút, cũng ko lãng phí đi đâu được :beat_brick:

Thôi, bài dài quá, em xin kết nhé, chúc các bác thành công :byebye:
bro cho mình hỏi trên top-page nó hiện thông báo này là sao nhỉ
1749371669770.png
 
mình đang làm tới B3: Vào VM Instance - Kích hoạt Compute Engine theo như hướng dẫn ở trên, hiện tại mình mới add thẻ vào thui, để làm tiếp như hướng dẫn ở trên mình có cần click vào active ko bro ?
1749372137002.png

với thông báo như này là sao bro nhỉ
 
mình đang làm tới B3: Vào VM Instance - Kích hoạt Compute Engine theo như hướng dẫn ở trên, hiện tại mình mới add thẻ vào thui, để làm tiếp như hướng dẫn ở trên mình có cần click vào active ko bro ?
cứ làm theo HD của bác kia thôi bác, nó bắt active thì phải active thôi.
 
mình đang làm tới B3: Vào VM Instance - Kích hoạt Compute Engine theo như hướng dẫn ở trên, hiện tại mình mới add thẻ vào thui, để làm tiếp như hướng dẫn ở trên mình có cần click vào active ko bro ?
Xem tệp đính kèm 3085618
với thông báo như này là sao bro nhỉ

Google cloud mặc định tính tiền theo kiểu pay as you go - dùng đến đâu trả tiền đến đó, và sẽ charge thẻ ngày 1 hàng tháng :shame:

Nếu bác dùng đúng như em hướng dẫn, sẽ là free tier và chỉ charge thêm tiền mạng, tầm vài trăm đồng / tháng. Cứ nạp trước 200k thì nó charge chục năm ko hết được.

Còn nếu bác dùng thêm gì khác của google cloud thì sẽ bị charge tiền. :go:

Còn nếu bác ko chắc chắn, sợ bấm nhầm bị charge tiền thì giải quyết xong vụ này (lấy server, cài vaultwarden, nạp tiền trước) xong, thì khoá cái thẻ lại cho lành, khỏi lo mất tiền :nosebleed:

via theNEXTvoz for iPhone
 
Google cloud mặc định tính tiền theo kiểu pay as you go - dùng đến đâu trả tiền đến đó, và sẽ charge thẻ ngày 1 hàng tháng :shame:

Nếu bác dùng đúng như em hướng dẫn, sẽ là free tier và chỉ charge thêm tiền mạng, tầm vài trăm đồng / tháng. Cứ nạp trước 200k thì nó charge chục năm ko hết được.

Còn nếu bác dùng thêm gì khác của google cloud thì sẽ bị charge tiền. :go:

Còn nếu bác ko chắc chắn, sợ bấm nhầm bị charge tiền thì giải quyết xong vụ này (lấy server, cài vaultwarden, nạp tiền trước) xong, thì khoá cái thẻ lại cho lành, khỏi lo mất tiền :nosebleed:

via theNEXTvoz for iPhone
Thanks bro ạ, bro cho mình hỏi nếu dùng vps google cloud thì dùng guide nào để selfhost ạ? Vì bài đầu tiên bác ấy guide trên vps fly.io ạ
 
Thanks bro ạ, bro cho mình hỏi nếu dùng vps google cloud thì dùng guide nào để selfhost ạ? Vì bài đầu tiên bác ấy guide trên vps fly.io ạ


Đây thím :sweat: nói chung là vps này nó vẫn là con server linux thôi, cài cắm theo bài này là ok á

via theNEXTvoz for iPhone
 
Hướng dẫn self-hosted vaultwarden (bitwarden) trên VPS.



1. Chuẩn bị trước khi cài.

a. Tên miền để truy cập vault: Có thể mua 1 cái (rẻ nhất 30k/năm) hoặc đăng ký free (dot.tk).
b. Máy chủ ảo (VPS) cấu hình cỡ 1 core CPU, 1 GB RAM, disk 10GB trở lên cho chắc chắn. Rẻ là được, nhưng phải uy tín và uptime tốt. VPS downtime nhiều có thể ảnh hưởng đến việc sử dụng.

c. Trỏ sẵn bản ghi A về IP của VPS đã mua ở trên. Trường hợp dùng Tunnel hoặc phương án khác thì bỏ qua hướng dẫn liên quan đến tên miền nhé.

2. Cài đặt
a. Chuẩn bị VPS
  • Hệ điều hành em sẽ hướng dẫn ở đây là Ubuntu 22. Các thím dùng cùng loại để có câu lệnh đúng nhất.
  • Đảm bảo OS là sạch, chưa cài bất kì thứ gì để tránh lỗi. Mọi cài đặt sẽ liên quan đến docker, nên có sẵn docker thì thôi cứ vậy dùng.

b. Cài đặt docker.
- Có nhiều cách cài đặt docker, nhưng em sẽ hướng dẫn cách nhanh và dễ nhất là dùng script có sẵn:

Bash:
sudo -i
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

- Kiểm tra xem đã có Docker Compose chưa. Docker Compose sẽ dùng file yml được soạn sẵn để tạo container nhanh gọn

Bash:
docker compose version
Docker Compose version v2.21.0 # << Hiện version là oke.

Tạo network:
Bash:
docker network create -d bridge npm

c. Cài đặt NGINX Proxy Manager.
Cái này nó có nhiều tác dụng, trong trường hợp này sẽ dùng để trỏ tên miền vào đúng vaultwarden và hỗ trợ ký SSL Certificate luôn.

- Tạo thư mục lưu config
Bash:
cd /opt/
mkdir docker-compose
cd docker-compose
mkdir nginx
cd nginx

- Tạo file docker-compose.yml
Bash:
vi docker-compose.yml
Paste nội dung sau:

Bash:
version: "3"
services:
  nginx-proxy-manager:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'

    # Uncomment the next line if you uncomment anything in the section
    environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      DISABLE_IPV6: 'true'

    volumes:
      - '/opt/data/nginx/data:/data'
      - '/opt/data/nginx/letsencrypt:/etc/letsencrypt'

    networks:
      - npm

networks:
  npm:
    external: true
Ấn ESC 1 lần, gõ :x và enter để lưu lại file.

- Tiếp theo, gõ lệnh để chạy container nginx proxy manager.
Bash:
docker compose up -d
#[+] Running 1/1
# ✔ Container nginx-nginx-proxy-manager-1  Started

d. Cài đặt vaultwarden.
-
Tạo thư mục lưu config và tạo file docker compose.
Bash:
cd /opt/docker-compose/
mkdir vaultwarden
cd vaultwarden
vi docker-compose.yml

Paste:
Bash:
version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      DOMAIN: "https://ten-mien-co-https"
      ADMIN_TOKEN: "mật khẩu để vào admin vaultwarden. Xoá luôn dòng này nếu như không cần admin"
      #LOG_FILE: /data/log/vaultwarden.log
    volumes:
      - /opt/data/vaultwarden/vw-data:/data
      #- /opt/data/vaultwarden/vw-data/log:/data/log
    networks:
      - npm

networks:
  npm:
    external: true

Chạy container bằng lệnh: docker compose up -d. Không báo lỗi gì là oke.

Bash:
[+] Running 7/7
 ✔ vaultwarden 6 layers [⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                                                                       12.3s
   ✔ 578acb154839 Pull complete
   ✔ 66d606b036ee Pull complete
   ✔ 79193564b982 Pull complete
   ✔ 9b60180a7faa Pull complete
   ✔ 12f58a7c9a51 Pull complete  
   ✔ 44ce7cca8234 Pull complete
[+] Running 1/1
 ✔ Container vaultwarden  Started

e. Config tên miền
- Truy cập admin page của Nginx Proxy Manager bằng cách sử dụng: http://ten-mien:81 (không phải https nhé)
Đăng nhập bằng mail pass mặc định:

Vào trong sẽ yêu cầu đổi pass, nhớ ghi pass ra ngoài nhé.
- Tại menu chọn Hosts -> Proxy Hosts. Thêm host như hình. Sau đó lưu lại.
Xem tệp đính kèm 2181550
Nhớ tick vào "Websockets Support" nhé các thím.
Xem tệp đính kèm 2181551

Truy cập thử vault bằng tên miền. Hiện như hình là oke. Sau đó có thể tạo user đầu tiên và bắt đầu sử dụng.
Xem tệp đính kèm 2181552



Trong các bài tiếp theo, em sẽ hướng dẫn các thím backup, restore vaultwarden và bảo mật 1 phần VPS + hạn chế bruteforce vault bằng firewall.
Chạy lệnh docker compose up -d hiện như ảnh này là được rồi phải không ợ
1749479760101.png
 

Thống kê chủ đề

Ngày tạo
hoanganh.pro,
Người trả lời cuối
takigami,
Trả lời
583
Lượt xem
43.408
Quay lại
Lên đầu trang