Hướng dẫn cài đặt Docker & Portainer trên Fastpanel sử dụng Reverse Proxy (Ubuntu 24.04)
BỞI: DPS.MEDIA

Hướng dẫn cài đặt Docker & Portainer trên Fastpanel sử dụng Reverse Proxy (Ubuntu 24.04)

Nếu bạn đang sử dụng Fastpanel để quản lý VPS, bạn sẽ thấy nó rất tuyệt vời cho các website PHP/WordPress. Tuy nhiên, nếu bạn muốn chạy thêm các ứng dụng hiện đại khác (như n8n, Nextcloud, Node.js…) thì Docker là giải pháp tốt nhất.

Vấn đề duy nhất là Fastpanel đã chiếm dụng cổng 80 và 443. Vậy làm sao để truy cập vào giao diện quản lý Docker (Portainer) bằng tên miền chuẩn SSL (ví dụ: portainer.dps.media) mà không cần gõ IP:9443?

Bài viết này sẽ hướng dẫn bạn từ A-Z cách cài đặt Docker, Portainer và cấu hình Reverse Proxy ngay trên Fastpanel (Native) trên nền tảng Ubuntu 24.04.


Bước 1: Cài đặt Docker trên VPS

Đầu tiên, bạn cần SSH vào VPS với quyền root và chạy lệnh cài đặt Docker chính chủ.

1. Cập nhật hệ thống:

Bash

apt update && apt upgrade -y

2. Cài đặt Docker (Script tự động):

Bash

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Sau khi cài xong, bạn có thể kiểm tra xem Docker đã chạy chưa bằng lệnh docker -v.


Bước 2: Cài đặt Portainer (Giao diện quản lý Docker)

Thay vì gõ lệnh, chúng ta sẽ cài Portainer CE để quản lý các container qua giao diện web trực quan.

1. Tạo không gian lưu trữ dữ liệu (Volume):

Bash

docker volume create portainer_data

2. Chạy container Portainer:

Bash

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Lúc này, Portainer đã chạy ở cổng 9443 (HTTPS).


Bước 3: Cấu hình Reverse Proxy trên Fastpanel

Đây là bước quan trọng nhất để public Portainer ra internet bằng tên miền của bạn.

  1. Đăng nhập vào Fastpanel.
  2. Bấm vào nút “Create Site” (Tạo trang web).
  3. Chọn loại website là “Reverse Proxy”.
  4. Điền thông tin:
    • Domain: Nhập subdomain của bạn (ví dụ: ptn266.dpsmedia.vn).
    • Upstream address (Target): Nhập https://127.0.0.1:9443
    • Lưu ý: Phải có https:// vì Portainer chạy bảo mật mặc định.

⚠️ Lưu ý Quan Trọng (Không được bỏ qua)

Sau khi tạo site xong, giao diện Portainer có thể bị lỗi hiển thị (trắng trang hoặc mất icon). Bạn cần sửa như sau:

  1. Vào cài đặt của site vừa tạo (Settings).
  2. Tìm mục “Static Content”.
  3. TẮT (Disable) dòng: “Use NGINX for static files”.
    • Lý do: Fastpanel mặc định sẽ tìm ảnh/css trên ổ cứng server thay vì lấy từ Docker container, nên chúng ta cần tắt nó đi để mọi request đều đi qua Docker.

Sau đó, vào mục SSL Certificates và cài đặt SSL Let’s Encrypt miễn phí như bình thường.


Bước 4: Xử lý lỗi “Instance timed out” (Nếu gặp)

Khi truy cập vào tên miền lần đầu, nếu bạn thấy thông báo:

“Your Portainer instance timed out for security purposes…”

Đừng lo, đây là tính năng bảo mật của Portainer nếu bạn không tạo tài khoản Admin trong vòng 5 phút sau khi cài đặt.

Cách khắc phục: Quay lại SSH và chạy lệnh restart:

Bash

docker restart portainer

Sau đó F5 lại trình duyệt ngay lập tức và tạo tài khoản Admin.


Kết luận

Vậy là xong! Bây giờ bạn đã có một hệ thống Fastpanel mạnh mẽ vừa chạy được web truyền thống, vừa chạy được hệ sinh thái Docker thông qua giao diện Portainer cực kỳ chuyên nghiệp.

Ưu điểm của phương pháp này:

  • Không cần cài thêm Nginx Proxy Manager (vì Fastpanel đã lo rồi).
  • Tận dụng được chứng chỉ SSL miễn phí của Fastpanel.
  • Bảo mật hơn vì không cần mở port 9443 ra ngoài firewall.

Chúc các bạn thành công! Nếu có thắc mắc, hãy để lại bình luận bên dưới.


Nguồn: Tổng hợp kinh nghiệm thực tế từ dps.media

DPS.MEDIA