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
Fen cho mình hỏi mình chạy lệnh bên ngoài ok rồi mà cho vào crontab lại không tự chạy fen nhỉ. Lệnh của mình trong crontab như này ạ.
Mã:
*/10 * * * * sqlite3 /opt/data/vaultwarden/vw-data/db.sqlite3 ".backup '/opt/data/vaultwarden/vw-data/db.bak'" && tar -czvf /home/hoangt/backup/Vaultwarden_data-$(date '+\%Y\%m\%d-\%H\%M').tar.gz /opt/data/vaultwarden/vw-data/ && rclone copy --ignore-existing /home/hoangt/backup upload_google_drive:/backup_folder && rm -r /home/hoangt/backup/*
Nhìn cái chuỗi cmd của fence hoa mắt quá. Thay vì gom vầy fence nên đưa nó vào file bash script theo cách đơn giản như sau:
Mã:
#!/bin/bash
dong lenh t1
dong lenh t2
rồi chmod +x <đường dẫn đến file bash trên> sau đó trong crontab chỉ việc trỏ đến đường dẫn file bash ở trên là nó chạy mà lại dễ nhìn dễ sửa.
Nên đưa đầy đủ đường dẫn cho các file thực thi để tránh việc cron k thấy PATH. Tìm đường dẫn đầy đủ bằng cách which <ten file thuc thi>. Vd: which sqlite3

Fence có thể sài lệnh sync và bỏ qua argv --ignore-existing thay vào đó thêm -vv để rclone trích debug vào log (Cái này theo dõi thấy chạy ổn định thì bỏ đi cũng được).
Rclone nên dùng sync cho backup vì sẽ tự động chép tập tin thay đổi mới nhất dựa trên size, modtime, hash (tùy thuộc vào sự hỗ trợ của các cloud storage) và cấu trúc thư mục nguồn.
Trong cron nên thêm vào sau chuỗi cmd đoạn >/home/mieugia/logs/backup-vaultwarden.log 2>&1 thay đổi /home/[B]mieugia[/B]/logs/backup-vaultwarden.log thành đường dẫn file log muốn ghi vào để trích log ra theo dõi.
Nhớ tạo thư mục /home/[B]mieugia[/B]/logs/ nếu chưa có và mieugia thay đổi theo user của mình (chạy với root thì cho nó vào /var/log cũng được)
 
Nhìn cái chuỗi cmd của fence hoa mắt quá. Thay vì gom vầy fence nên đưa nó vào file bash script theo cách đơn giản như sau:
Mã:
#!/bin/bash
dong lenh t1
dong lenh t2
rồi chmod +x <đường dẫn đến file bash trên> sau đó trong crontab chỉ việc trỏ đến đường dẫn file bash ở trên là nó chạy mà lại dễ nhìn dễ sửa.
Nên đưa đầy đủ đường dẫn cho các file thực thi để tránh việc cron k thấy PATH. Tìm đường dẫn đầy đủ bằng cách which <ten file thuc thi>. Vd: which sqlite3

Fence có thể sài lệnh sync và bỏ qua argv --ignore-existing thay vào đó thêm -vv để rclone trích debug vào log (Cái này theo dõi thấy chạy ổn định thì bỏ đi cũng được).
Rclone nên dùng sync cho backup vì sẽ tự động chép tập tin thay đổi mới nhất dựa trên size, modtime, hash (tùy thuộc vào sự hỗ trợ của các cloud storage) và cấu trúc thư mục nguồn.
Trong cron nên thêm vào sau chuỗi cmd đoạn >/home/mieugia/logs/backup-vaultwarden.log 2>&1 thay đổi /home/[B]mieugia[/B]/logs/backup-vaultwarden.log thành đường dẫn file log muốn ghi vào để trích log ra theo dõi.
Nhớ tạo thư mục /home/[B]mieugia[/B]/logs/ nếu chưa có và mieugia thay đổi theo user của mình (chạy với root thì cho nó vào /var/log cũng được)
Thanks fen về kiến thức rất hữu ích ạ!
 
Hướng dẫn self-hosted vaultwarden (bitwarden) trên VPS.
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:
thím ơi, mình lại đổi pass xong lại quên pass đăng nhập nginx, có cách nào reset không ạ?
 
Thanks fen. Run: UPDATE user SET is_deleted=0, mục này có nghĩa là gì fen nhỉ.
này là query SQL thực hiện lệnh UPDATE trên table userSET tất cả dữ liệu thành is_deleted=0. Theo như hướng dẫn của tác giả thì mục đích của 2 lần UPDATE là để NPM (Nginx Proxy Manager) tạo lại tài khoản Admin mặc định
 
này là query SQL thực hiện lệnh UPDATE trên table userSET tất cả dữ liệu thành is_deleted=0. Theo như hướng dẫn của tác giả thì mục đích của 2 lần UPDATE là để NPM (Nginx Proxy Manager) tạo lại tài khoản Admin mặc định
deleted = 1 để xác định không có admin nào, lúc này UI sẽ cho phép tạo admin mới.
Sau khi tạo admin mới thì có thể vào đổi pass của admin cũ.
Nêu muốn dùng acc cũ thì lại disable admin mới là được.
 
deleted = 1 để xác định không có admin nào, lúc này UI sẽ cho phép tạo admin mới.
Sau khi tạo admin mới thì có thể vào đổi pass của admin cũ.
Nêu muốn dùng acc cũ thì lại disable admin mới là được.
Tại thấy ông tác nói thế thôi chứ Miêu k sài NPM
7Nr5utd.gif
 
Cảm ơn 2 thím e làm đc rồi. Cài cái portainer đúng là dễ nhìn hơn hẳn. Các thím có cái web ui nào uy tín cho rclone không ạ!
 
Cảm ơn 2 thím e làm đc rồi. Cài cái portainer đúng là dễ nhìn hơn hẳn. Các thím có cái web ui nào uy tín cho rclone không ạ!
fen tham khảo GitHub - kapitainsky/RcloneBrowser: Simple cross platform GUI for rclone. Supports macOS, GNU/Linux, BSD family and Windows. (https://github.com/kapitainsky/RcloneBrowser#sample-screenshots) hoặc sài luôn Rclone Ui (kèm theo rclone GUI (https://rclone.org/gui/)) cũng được. Muốn đơn giản hơn thì sài GitHub - retifrav/rclone-rc-web-gui: Web GUI for rclone rc (https://github.com/retifrav/rclone-rc-web-gui)
 
hiện em đang dùng ext web bitwarden, các bác cho em hỏi sau khi selfhost được rồi thì có dùng tài khoản đó để login vào web selfhost bitwarden đc ko hay phải tạo tk mới rồi import mk qua ạ
 
Phải tạo tài khoản mới nhé bạn.
bác cho em tò mò thêm xíu là phần admin/user của bitwarden em thấy có phần invite user là để mời người khác tạo tk bitwarden cho selfhost này hay sao ạ. em có nhập thử mail mà ko thấy gửi mail xác nhận hay gì hết. cảm ơn vì video hướng dẫn chi tiết của bác nữa nhé:byebye:
1706930859548.png
 
bác cho em tò mò thêm xíu là phần admin/user của bitwarden em thấy có phần invite user là để mời người khác tạo tk bitwarden cho selfhost này hay sao ạ. em có nhập thử mail mà ko thấy gửi mail xác nhận hay gì hết. cảm ơn vì video hướng dẫn chi tiết của bác nữa nhé:byebye:Xem tệp đính kèm 2322150
gửi mail được thì fen phải config chỗ SMTP mail trong Vault trước! Mà em cài mấy lần chưa được nên cũng bỏ luôn không cài nữa! (Xem bài #297→#301 trong chủ đề này)
 
Jellyfin của fence host docker hay là chạy bằng cmd trên máy thật ?
Muốn mount dữ liệu từ cloud storage lên đĩa của máy để stream qua Jellyfin như Miêu đang sài với OneDrive và host bằng podman (docker tương tự thay lệnh podman thành lệnh docker là được) thì làm như sau:
Bash:
mkdir ~/ThuVien/Phim
# sau đó gõ tiếp lệnh dưới để biết đường dẫn chính xác đến thư mục vừa tạo
echo ~/ThuVien/Phim
# kết quả sẽ đại loại /home/mieugia/ThuVien/Phim
# gõ tiếp lệnh bên dưới để lấy đúng đường dẫn rclone
# cài thêm fuse nếu các fence cài rclone bằng việc tải executable ở github
which rclone
Tạo 1 file service cho systemd để rclone tự mount mỗi khi restart lại vps tại ~/.config/systemd/user/mount-phim.service với nội dung dưới:
Bash:
[Unit]
Description=Mount OneDrive - Phim

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount namek-crypt:/Phim /home/mieugia/ThuVien/Phim --vfs-cache-mode writes --vfs-cache-max-size 10G --allow-other --vfs-cache-max-age 24h --vfs-cache-poll-interval 1440m --umask 002 --bwlimit-file 32M
ExecStop=/usr/bin/fusermount -uz /home/mieugia/ThuVien/Phim
Restart=on-abort

[Install]
WantedBy=default.target
Chú ý:
  • Sửa /home/mieugia/ThuVien/Phim/usr/bin/rclone thành các đường dẫn đã lấy ở trên
  • Sửa namek-crypt:/Phim thành đường dẫn của rclone cloud
  • Có thể chỉnh sửa các vfs-cache-max-size tối ưu theo nhu cầu của các fence. Cấu hình của trên Miêu xem 1080p 1440p h264 thoải mái k bị buffering
  • Nếu gặp lỗi mount helper error: fusermount3: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf thì các fence gõ sudo nano /etc/fuse.conf rồi bỏ dấu # trước user_allow_other rồi save lại là được
Sau đó gõ các lệnh dưới
Bash:
systemctl --user daemon-reload
systemctl --user start mount-phim.service
systemctl --user enable mount-phim.service
ls ~/ThuVien/Phim
để xem nội dung đã mount được vào chưa
Chạy jellyfin bằng podman
Vì Miêu lưu các thiết lập tại vị trí là ~/Jellyfin/ nên các fence nếu muốn lưu thiết lập ở vị trí khác thì tùy chọn lại cho đúng
Bash:
podman run -d \                   
 --name jellyfin \
 --net=host \
 --volume ~/Jellyfin/config:/config \
 --volume ~/Jellyfin/cache:/cache \
 --mount type=bind,source=~/ThuVien/Phim,target=/media \
 --restart=unless-stopped \
 jellyfin/jellyfin
Sau khi chạy xong thì có thể truy cập vào http://localhost:8096/ để cấu hình Thư viện ở đường dẫn /media rồi.
Còn nếu các fence chạy jellyfin trực tiếp không qua docker hay podman thì đọc hướng dẫn ở đây
zkaedS6.gif


Mà Miêu không khuyến khích các fence host Jellyfin trên VPS đâu vì khả năng gây dịch vụ bị khóa là khá cao (đa số các dịch vụ vps, cloud hosting không cho phép cài đặt streaming service) với lại vấn đề về băng thông bị giới hạn của VPS nữa. Nếu VPS các fence không cấm cũng như không bị hạn chế băng thông lưu lượng thì quẩy thoải mái
zkaedS6.gif
đoạn này là sao bác, path này ở đâu
  • Sửa namek-crypt:/Phim thành đường dẫn của rclone cloud
 
cảm ơn bác e đang để root thì dc rồi. cái kia để sau vậy, đang mò thêm cái naming của nó :beat_shot:
bác lấy file ở đâu, nếu ở shared with me ggdrive thì nó chỉ cần root là dc, bác có thể dùng rclone ls <tên drive> để nó list ra path tất cả file ra cug được, để biết
 

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.411
Quay lại
Lên đầu trang