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

Hướng dẫn self-hosted vaultwarden (bitwarden) trên VPS - ntth - VOZ

Hướng dẫn self-hosted vaultwarden (bitwarden) trên VPS.
Bài viết gốc: https://hoangtuan.net/s/30
Hướng dẫn gồm 2 phần:
1. Chuẩn bị trước khi cài
2. Cài đặt.
a. Chuẩn bị VPS
b. Cài đặt docker.
c. Cài đặt Nginx Proxy Manager.
d. Cài đặt vaultwarden.
e. Config tên miền

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.
Ở đây em sẽ giới thiệu các nhà cung cấp rẻ location nước ngoài có rating tốt:
$11/year - RackNerd 1GB RAM / 12GB SSD. Mua xong vào đây comment được x2 băng thô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:
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
docker compose version

Docker Compose version v2.21.0 # << Hiện version là oke.
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.
Chỗ này trước em có dùng SSL free của cloudflare, nhưng bị trình trạng recaptcha nhiều nên kết nối giữa app và vault không ổn định, thỉnh thoảng không sync được khá phiền, nên trỏ thẳng luôn.
- Tạo thư mục lưu config
cd /opt/

mkdir docker-compose

cd docker-compose

mkdir nginx

cd nginx

- Tạo file docker-compose.yml
vi docker-compose.yml

Paste nội dung sau:

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.
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.
 
cd /opt/docker-compose/

mkdir vaultwarden

cd vaultwarden

vi docker-compose.yml


Paste:

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

Config environment khá nhiều, có thể tuỳ biến nhiều thứ. Tham khảo các key khác ở đây
Chạy container bằng lệnh:

docker compose up -d
Không báo lỗi gì là oke.
[+] 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:
email:
admin@example.com

password:
changeme

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.

Nhớ tick vào "Websockets Support" nhé các thím.

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.

Toàn bộ dữ liệu của bạn sẽ được lưu tại /opt/data. Config thì lưu tại /opt/docker-compose/. Cần backup 2 khu vực này để khôi phục khi cần thiết.
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.

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

Các Phụ Kiện Cần Lắp Khi Mới Mua Xe

Các Phụ Kiện Cần Lắp Khi Mới Mua Xe Dưới đây là danh sách các phụ kiện mình đã mua và đề xuất thêm: 1. Camera Hành Trình - Mình đã mua: 70mai M310 (không màn hình). Chi phí: Khoảng 1 triệu (bao gồm thẻ nhớ). - Link mua tham khảo: https://s.shopee.vn/9Uj40wfyTt - Đề xuất phương án xịn hơn: 70mai A510 (lắp cả cam trước và cam sau, trang bị nhiều công nghệ tiên tiến). Chi phí: Hơn 2 triệu. - Link mua tham khảo: https://s.shopee.vn/2fullxWpqG - Video hướng dẫn tự lắp đặt: https://www.youtube.com/watch?v=HLfdtWNMQZw 2. Cảm Biến Áp Suất Lốp - Mình đã mua: Cảm biến áp suất lốp van ngoài. Chi phí: Khoảng 300k. - Link mua tham khảo: https://s.shopee.vn/2AwIgtJBRv - Video mở hộp và hướng dẫn lắp đặt: https://www.youtube.com/watch?v=HLfdtWNMQZw 3. Bơm Lốp - Mình mua: Bơm lốp kiêm hút bụi, hơn 300k. - Link mua tham khảo: https://s.shopee.vn/2fsmrk60Wt - Video mở hộp và test sản phẩm: https://www.youtube.com/watch?v=HQ4rAaQuSCc - Đề xuất phương án xịn hơn: 70mai TP03, hơn 500k. - Link mua tha...