Skip to content

Deploy SerpBear ​

SerpBear là công cụ mã nguồn mở theo dõi thứ hạng từ khóa trên Google. Hướng dẫn này chạy SerpBear bằng Docker Compose ở cổng 4444 của máy chủ, còn website trên FlashPanel chuyển request từ domain (ví dụ serpbear.domain.com) tới cổng đó.

Yêu cầu ​

  • Máy chủ đã kết nối với FlashPanel
  • DNS của domain đã trỏ về IP máy chủ

Bước 1: Cài đặt Docker ​

Vào trang quản lý máy chủ, bấm menu Ứng dụng, chọn tab Chưa cài đặt, tìm Docker rồi bấm Cài đặt. Xem chi tiết tại Ứng dụng.

Bước 2: Tạo trang web ​

  1. Vào trang quản lý máy chủ, bấm menu Website ở thanh bên, sau đó bấm nút Tạo website
  2. Nhập Tên miền (ví dụ: serpbear.domain.com)
  3. Nhập Proxy Port: 4444 (bạn có thể chọn cổng khác còn trống)
  4. Bấm Tạo trang web

Bước 3: Cài đặt SSL ​

Vào trang quản lý website, bấm menu SSL và cài chứng chỉ cho domain. Xem hướng dẫn tại SSL.

Bước 4: Tạo file docker-compose.yaml ​

Mở Terminal trên trang tổng quan của máy chủ (đăng nhập bằng root), tạo thư mục cho SerpBear và mở file cấu hình:

bash
mkdir -p /root/serpbear
cd /root/serpbear
nano docker-compose.yaml

Bạn cũng có thể dùng Quản Lý File trên trang tổng quan của máy chủ để tạo file /root/serpbear/docker-compose.yaml.

Dán nội dung sau vào file và lưu lại:

yaml
services:
    app:
        image: towfiqi/serpbear
        restart: unless-stopped
        ports:
            - 127.0.0.1:4444:3000
        environment:
            - USER=admin
            - PASSWORD=0123456789
            - SECRET=4715aed3216f7b0a38e6b534a958362654e96d10fbc04700770d572af3dce43625dd
            - APIKEY=5saedXklbslhnapihe2pihp3pih4fdnakhjwq5
            - SESSION_DURATION=24
            - NEXT_PUBLIC_APP_URL=https://serpbear.domain.com
        volumes:
            - serpbear_appdata:/app/data
volumes:
    serpbear_appdata:

Lưu ý khi cấu hình các dòng được tô màu:

  • 127.0.0.1:4444:3000: 3000 là cổng cố định của SerpBear bên trong container, không nên sửa. 4444 là Proxy Port của website đã tạo ở bước 2. Phần 127.0.0.1: giúp cổng 4444 chỉ mở bên trong máy chủ: Docker tự thêm quy tắc mạng riêng và bỏ qua tường lửa UFW, nên nếu chỉ ghi 4444:3000 thì cổng này sẽ truy cập được trực tiếp từ Internet dù tường lửa không mở cổng
  • USER: tên đăng nhập vào SerpBear, ví dụ admin
  • PASSWORD: mật khẩu đăng nhập. Hãy đặt mật khẩu mạnh thay cho giá trị mẫu 0123456789
  • SECRET: khóa bí mật dùng để mã hóa API key và mật khẩu của dịch vụ bên thứ ba
  • APIKEY: khóa dùng để truy cập API của SerpBear
  • SESSION_DURATION: thời hạn (tính bằng giờ) của phiên đăng nhập, ví dụ 24
  • NEXT_PUBLIC_APP_URL: URL truy cập SerpBear, là domain của website đã tạo ở bước 2

TIP

Không dùng giá trị mẫu cho SECRET và APIKEY. Tạo chuỗi ngẫu nhiên bằng lệnh openssl rand -hex 32 rồi dán vào.

Bước 5: Khởi chạy SerpBear ​

Trong Terminal của máy chủ, chạy:

bash
cd /root/serpbear
docker compose up -d

Kiểm tra kết quả ​

  1. Chạy docker compose ps trong thư mục /root/serpbear, container app có trạng thái running
  2. Truy cập https://serpbear.domain.com và đăng nhập bằng USER/PASSWORD đã khai báo

Cập nhật cấu hình hoặc phiên bản ​

Sau khi sửa file docker-compose.yaml, chạy lại lệnh dưới đây. Docker Compose sẽ tạo lại container với cấu hình mới (lệnh docker restart không nạp lại thay đổi trong file docker-compose.yaml):

bash
cd /root/serpbear
docker compose up -d

Để cập nhật SerpBear lên phiên bản mới, tải image mới rồi tạo lại container. Dữ liệu được giữ trong volume serpbear_appdata:

bash
cd /root/serpbear
docker compose pull
docker compose up -d

Xử lý sự cố ​

Lỗi 502 Bad Gateway ​

  1. Kiểm tra container đang chạy: docker compose ps
  2. Đảm bảo cổng 4444 trong docker-compose.yaml khớp với Proxy Port của website
  3. Xem log của container: docker compose logs -f app

Không đăng nhập được ​

Kiểm tra lại USER, PASSWORD và NEXT_PUBLIC_APP_URL (phải đúng domain, có https://), sau đó chạy lại docker compose up -d.