Back to articles
Technology Insight

Tự Host Nền Tảng Link Shortener Thương Hiệu Riêng Với Dub.co và Supabase Local Trên VPS

June 4, 2026

Giới Thiệu Về Xu Hướng Tự Host (Self-hosting) Link Shortener Cho Doanh Nghiệp

Trong kỷ nguyên số, việc quản lý và tối ưu hóa các liên kết (links) không chỉ đơn thuần là rút ngắn những đường dẫn dài dòng. Đối với các doanh nghiệp, mỗi liên kết chia sẻ ra bên ngoài đều mang giá trị thương hiệu và là một điểm chạm dữ liệu quan trọng. Sử dụng các dịch vụ bên thứ ba đôi khi mang lại những rủi ro về bảo mật, giới hạn tính năng hoặc chi phí leo thang khi quy mô phát triển. Đó là lý do xu hướng self-hosting (tự host) đang trở thành lựa chọn tối ưu cho các doanh nghiệp muốn kiểm soát toàn diện hạ tầng của mình.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tự triển khai Dub.co — một trong những nền tảng Link Shortener mã nguồn mở hiện đại và mạnh mẽ nhất hiện nay — kết hợp với Supabase local trên máy chủ ảo (VPS) riêng. Giải pháp này giúp doanh nghiệp sở hữu một hệ thống rút gọn liên kết chuyên nghiệp, mang thương hiệu riêng (Custom Domain) với chi phí vận hành gần như bằng không.

Tại Sao Nên Chọn Dub.co Và Supabase Local?

Trước khi đi vào chi tiết kỹ thuật, hãy cùng điểm qua những lý do khiến sự kết hợp giữa Dub.co và Supabase lại trở nên vượt trội:

  • Dub.co: Là nền tảng quản lý liên kết thế hệ mới, sở hữu giao diện UI/UX tinh tế, khả năng phân tích chỉ số (analytics) chuyên sâu theo thời gian thực, hỗ trợ geo-targeting (định hướng theo vị trí địa lý) và thiết lập QR code chuyên nghiệp.
  • Supabase Local (Docker): Thay vì sử dụng dịch vụ đám mây trả phí của Supabase, việc chạy Supabase local thông qua Docker ngay trên cùng một VPS giúp bạn tận dụng tối đa tài nguyên phần cứng, không bị giới hạn số lượng request và đảm bảo dữ liệu lưu trữ nội bộ tuyệt đối.
  • Tối ưu chi phí: Bạn chỉ cần chi trả cho cấu hình VPS cố định hàng tháng thay vì phải nâng cấp các gói Enterprise đắt đỏ trên các nền tảng SaaS thương mại.
---

Chuẩn Bị Hạ Tầng Trước Khi Cài Đặt

Để quá trình triển khai diễn ra mượt mà, bạn cần chuẩn bị một cấu hình VPS tiêu chuẩn và các thiết lập tên miền cơ bản sau:

1. Cấu hình VPS khuyến nghị

Do hệ thống chạy cả Dub.co (Next.js ứng dụng) và Supabase (bao gồm PostgreSQL, GoTrue, Realtime, v.v.), cấu hình tối thiểu khuyến nghị bao gồm:

  • CPU: Tối thiểu 2 Cores
  • RAM: Tối thiểu 4GB (Supabase local khá ngốn RAM khi khởi chạy các dịch vụ thành phần)
  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS
  • Công cụ cài đặt sẵn: Docker và Docker Compose v2

2. Cấu hình Tên miền (DNS)

Bạn cần chuẩn bị ít nhất một tên miền (hoặc subdomain) và trỏ các bản ghi A về địa chỉ IP của VPS. Ví dụ:

  • ln.domain.com: Dành cho các liên kết rút gọn.
  • app.domain.com: Dành cho giao diện quản trị của Dub.co.
  • supabase.domain.com: Dành cho giao diện quản trị Supabase Studio (tùy chọn).
---

Quy Trình Triển Khai Chi Tiết Từng Bước

Bước 1: Triển khai Supabase Local bằng Docker

Đầu tiên, chúng ta cần dựng nền tảng cơ sở dữ liệu Supabase. Hãy đăng nhập vào VPS qua SSH và thực hiện các lệnh sau:

Thực hiện khởi tạo thư mục dự án và tải cấu hình Docker của Supabase.
mkdir -p /opt/supabase-local && cd /opt/supabase-local
npx supabase init

Sau khi chạy lệnh khởi tạo, một thư mục có tên supabase chứa các file cấu hình sẽ được tạo ra. Tiếp theo, di chuyển vào thư mục docker và khởi chạy hệ thống:

cd supabase/docker
cp .env.example .env
docker compose up -d

Lưu ý quan trọng: Hãy mở file .env của Supabase và thay đổi các chuỗi mã hóa mặc định như JWT_SECRET, POSTGRES_PASSWORD để đảm bảo an toàn cho cơ sở dữ liệu của bạn. Sau khi khởi chạy thành công, giao diện Supabase Studio sẽ hoạt động tại cổng localhost:54323.

Bước 2: Cấu hình Cơ sở dữ liệu cho Dub.co

Dub.co yêu cầu một số bảng dữ liệu và cấu hình schema cụ thể để hoạt động. Bạn có thể truy cập vào Supabase Studio thông qua trình duyệt, vào mục SQL Editor và chạy các đoạn script khởi tạo cơ bản do Dub.co cung cấp trong tài liệu mã nguồn mở của họ. Đảm bảo rằng bạn đã lấy được chuỗi kết nối DATABASE_URL (PostgreSQL) để cấu hình cho bước tiếp theo.

Bước 3: Cấu hình và Chạy mã nguồn Dub.co

Tải mã nguồn chính thức của Dub.co từ GitHub về một thư mục riêng trên VPS:

cd /opt
git clone [https://github.com/dubinc/dub.co.git](https://github.com/dubinc/dub.co.git) dub
cd dub
cp .env.example .env

Mở file .env của Dub.co và tiến hành điền đầy đủ các thông số kết nối quan trọng:

# Kết nối Database (Lấy từ Supabase local)
DATABASE_URL="postgresql://postgres:your_password@localhost:5432/postgres"

# Cấu hình URL hệ thống
NEXTAUTH_URL="[https://app.domain.com](https://app.domain.com)"
NEXT_PUBLIC_APP_DOMAIN="app.domain.com"
NEXT_PUBLIC_REDIRECT_TO_REDIRECT_DOMAIN="true"

# Cấu hình xác thực (Auth)
NEXTAUTH_SECRET="your_random_secret_string"

Sau khi cấu hình hoàn tất, bạn có thể build và chạy Dub.co bằng Docker hoặc chạy trực tiếp bằng Node.js (nếu VPS đã cài sẵn các công cụ build cần thiết):

docker build -t dub-app .
docker run -d -p 3000:3000 --name dub-container dub-app

Bước 4: Thiết lập Reverse Proxy với Nginx và SSL Let's Encrypt

Để người dùng bên ngoài có thể truy cập an toàn qua giao thức HTTPS, chúng ta cần cấu hình Nginx làm Reverse Proxy để chuyển hướng traffic từ cổng 80/443 vào các cổng nội bộ (3000 của Dub.co và 54323 của Supabase).

Tạo một file cấu hình Nginx mới cho dự án:

sudo nano /etc/nginx/sites-available/dub

Nội dung file cấu hình cơ bản:

server {
listen 80;
server_name app.domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

}
}

Kích hoạt cấu hình và tiến hành cài đặt chứng chỉ SSL miễn phí bằng Certbot:

sudo ln -s /etc/nginx/sites-available/dub /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d app.domain.com
---

Kiểm Tra và Vận Hành Hệ Thống

Sau khi hoàn tất toàn bộ các bước thiết lập, hãy truy cập vào tên miền [https://app.domain.com](https://app.domain.com) của bạn. Giao diện đăng nhập trực quan của Dub.co sẽ xuất hiện. Tại đây, bạn có thể:

  1. Tạo tài khoản quản trị đầu tiên của doanh nghiệp.
  2. Thêm tên miền thương hiệu ngắn (ví dụ: ln.domain.com).
  3. Bắt đầu tạo các liên kết rút gọn đầu tiên và theo dõi biểu đồ thống kê click real-time cực kỳ trực quan.

Do hệ thống cơ sở dữ liệu được đặt tại Supabase local, mọi dữ liệu về lượt click, IP người dùng, thiết bị, và quốc gia đều được lưu trữ an toàn trên ổ đĩa của riêng bạn, đáp ứng tuyệt đối các tiêu chuẩn về bảo mật và quyền riêng tư dữ liệu (GDPR/ISO).

Kết Luận

Việc tự host nền tảng Link Shortener thương hiệu riêng với Dub.co và Supabase local là một bước đi chiến lược mang lại lợi ích kép cho doanh nghiệp: vừa chuyên nghiệp hóa hình ảnh thương hiệu qua các liên kết ngắn tùy chỉnh, vừa tối ưu hóa chi phí hạ tầng công nghệ. Hy vọng bài viết hướng dẫn chi tiết này sẽ giúp bạn triển khai thành công hệ thống của riêng mình.

Tự Host Nền Tảng Link Shortener Thương Hiệu Riêng Với Dub.co và Supabase Local Trên VPS | DPTCloud