Homelab #21 Cài đặt Proxmox Backup Server lên VPS kết hợp với S3 Storage
HOMELAB

Homelab #21 Cài đặt Proxmox Backup Server lên VPS kết hợp với S3 Storage

Thất Nghiệp Thất Nghiệp
Oct 26, 2025 7 min read 0 views
Back to Blog

bài 17 chúng ta đã có một lần sử dụng backup rồi. Vậy thì cái Proxmox Backup Server (PBS) này còn đẻ ra để làm gì nữa?
Câu hỏi này trong quá khứ cũng được hỏi tại Blog của anh Thuận Bùi
Câu hỏi này trong quá khứ cũng được hỏi tại Blog của anh Thuận Bùi

Lựa chọn PBS hay PVE VM PBS

Mình khá vân phân trong việc này. Một phần là có Myth về việc không nên chạy PBS trong VM tại các diễn đàn Proxmox
Cả staff cũng không khuyến khích việc này
Lựa chọn PBS hay PVE VM PBS - Ở bài 17 chúng ta đã có một lần sử dụng backup rồi
Mình cũng có đi hỏi các tiền bối đi trước
Lựa chọn PBS hay PVE VM PBS - Ở bài 17 chúng ta đã có một lần sử dụng backup rồi
Cho đến khi mình được ông bạn (từng làm chung dự án) cho một tin của VPSTTT cho Free 1TB trong 3 tháng. Nên mình muốn dùng thử Bucket nó sẽ như thế nào? Và cái Bucket này chỉ khả dụng cho PBS. Nếu tìm cách thì trên PVE vẫn có thể dùng được, nhưng thôi mình muốn làm trên PBS hơn.

Đặc biệt hơn nhờ đến bài này của anh Thuận Bùi cho thấy việc cài PBS trên Docker và VPS khả thi. Thế là mình quyết định cài lên con VPS 1 năm của mình.

Tiến hành cài đặt

Mình dùng VPS của Hypercore vẫn là Hypercore sự lựa chọn của tôi =))
Dòng VPS của Hypercore thì được chạy trên nền tảng Proxmox vậy nên nếu chạy thêm Docker nữa thì có thể hiểu là đang chạy Docker trên một VM Debian và dưới nền tảng ảo hoá Proxmox. Nghe cũng không khác gì việc mình chạy LXC xong chạy Docker trong PVE cả.

Mình dùng repo này: https://github.com/ayufan/pve-backup-server-dockerfiles
Tạo thư mục mới cho PBS và file docker-compose.yml

mkdir ~/pbs
cd ~/pbs
nano docker-compose.yml

Nhập vào nội dung sau

services:
  pbs:
    image: ayufan/proxmox-backup-server:latest
    ports:
      - 8007:8007
    mem_limit: 2G
    volumes:
      - ./pbs_etc:/etc/proxmox-backup
      - ./pbs_logs:/var/log/proxmox-backup
      - ./pbs_lib:/var/lib/proxmox-backup
      - ./backups:/backups
    tmpfs:
      - /run
    cap_add: # smartctl support
      - SYS_RAWIO
    #devices:
    # - /dev/sda
    restart: unless-stopped
    stop_signal: SIGHUP

Ở đây mình comment phần devices: đi là vì nó là VPS dùng ổ đĩa ảo. Bạn có thể cấu hình lại cho chuẩn cũng được. Mình để vậy để nó tự nhận.
Tiếp theo có ba cách để vào PBS.
Cách 1: Sử dụng VPN
Cách 2: Allow Firewall sau đó connect bằng http://<IP-VPS>:8007

sudo ufw allow 8007/tcp
sudo ufw reload
sudo ufw status

Cách 3: Sử dụng Cloudflared
Ban đầu mình đã sử dụng Cloudflared, tuy nhiên về sau mình thấy nó không Verify được Token, làm cho việc kết nối giữa PVE và PBS. Do đó mình không khuyến khích dùng cách này

Đăng nhập vào Proxmox Backup Server (PBS)

Ở lần đăng nhập đầu tiên, sử dụng thông tin mặc định như sau
Username: admin
Password: pbspbs
Realm: Proxmox Backup authentication server
Đăng nhập vào Proxmox Backup Server (PBS) - sudo ufw allow 8007/tcp
sudo ufw reload
sudo ufw status

Cách 3: Sử dụng Cloud...
Sau khi đăng nhập, mình sẽ truy cập vào mục Access Control, bấm nút Add để tạo tài khoản mới
Đăng nhập vào Proxmox Backup Server (PBS) - sudo ufw allow 8007/tcp
sudo ufw reload
sudo ufw status

Cách 3: Sử dụng Cloud...
Tiếp theo, chuyển qua tab Permission, nhất nút Add để cấp quyền admin cho tài khoản vừa tạo.
Đăng nhập vào Proxmox Backup Server (PBS) - sudo ufw allow 8007/tcp
sudo ufw reload
sudo ufw status

Cách 3: Sử dụng Cloud...
Ở đây mình xin phép sử dụng một phần nội dung từ bài của anh Thuận Bùi

Thêm S3 Storage

Bạn vào giao diện của PBS và vào các mục như trong ảnh
Thêm S3 Storage - Ở lần đăng nhập đầu tiên, sử dụng thông tin mặc định như sau
Username: admin
Password: pbspbs
Realm: Pro...
Chỗ này bạn điển các thông tin mà bên cung cấp S3 cho vào. Ở đây mình dùng của VPSTTT với MinIO
Thêm S3 Storage - Ở lần đăng nhập đầu tiên, sử dụng thông tin mặc định như sau
Username: admin
Password: pbspbs
Realm: Pro...
Giờ thì nhập vào thôi, nhớ là sử dụng port của API ở đây của mình là 9000
Thêm S3 Storage - Ở lần đăng nhập đầu tiên, sử dụng thông tin mặc định như sau
Username: admin
Password: pbspbs
Realm: Pro...

Tạo Datastore trên PBS

Bấm vào nút Add Datastore ở menu bên trái, sau đó nhập vào thông tin như hình. Backing Path: /backups là đường dẫn đã được khai báo ở dòng 11 trong file docker-compose.yml
Tạo Datastore trên PBS - Bạn vào giao diện của PBS và vào các mục như trong ảnh

Chỗ này bạn điển các thông tin mà bên cun...

Datastore mới sẽ được thêm vào, bạn ấn vào Show Connection Information để xem thông tin chi tiết, nếu bạn dùng cách 2 ở trên sử dụng IP VPS thì có thể connect trực tiếp. Mình thì thích rườm rà hơn, mình chọn tên miền. Thế là phải đi đến bước tiếp theo.
Tạo Datastore trên PBS - Bấm vào nút Add Datastore ở menu bên trái, sau đó nhập vào thông tin như hình

Cài đặt Caddy để Reverse Proxy

Mình muốn thử dùng Caddy lâu rồi, tiện thể đang có dịp nên mình dùng luôn, lợi ích của nó là đỡ phải đi xin Cert SSL, có thể tự động xin.
Cài đặt Caddy

sudo apt update -y
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update -y
sudo apt install -y caddy

sudo systemctl enable caddy
sudo systemctl start caddy
sudo systemctl status caddy --no-pager

Sau đó bạn nano /etc/caddy/Caddyfile
Sửa lại như thế này

tên-miền-của-bạn {
    reverse_proxy https://127.0.0.1:8007 {
        transport http {
            tls_insecure_skip_verify
        }
    }
}

Sửa lại file docker-compose.yml của PBS

services:
  pbs:
    image: ayufan/proxmox-backup-server:latest
    ports:
      - 127.0.0.1:8007:8007
    mem_limit: 2G
    volumes:
      - ./pbs_etc:/etc/proxmox-backup
      - ./pbs_logs:/var/log/proxmox-backup
      - ./pbs_lib:/var/lib/proxmox-backup
      - ./backups:/backups
    tmpfs:
      - /run
    cap_add: # smartctl support
      - SYS_RAWIO
    #devices:
    # - /dev/sda
    restart: unless-stopped
    stop_signal: SIGHUP

Thêm vào đoạn ports: 127.0.0.1:8007:8007

Tiếp theo vào nơi quản lý tên miền, và trỏ A record về VPS của bạn.
Cài đặt Caddy để Reverse Proxy - services:
  pbs:
    image: ayufan/proxmox-backup-server:latest
    ports:
      - 127
Xong rồi đó.

Kết nối PBS với PVE

Kết nối PBS với PVE - Tiếp theo vào nơi quản lý tên miền, và trỏ A record về VPS của bạn
Giờ thì dựa vào thông tin ở mục Show Connection Information trước đó để làm tiếp thôi.

Còn cách dùng thì giống như bài 17 nhưng khác ở việc là chọn ổ PBS thôi

Chúc các bạn thành công!

Share this article

Thất Nghiệp

Written by Thất Nghiệp

A developer sharing thoughts on clean code, creative freedom, and the pursuit of the perfect dev environment. Building digital sanctuaries one component at a time.

Comments

Join the conversation

Leave a comment

Won't be published

You might also like