Back to articles
Technology Insight

Tự Chạy Nostr Relay Trên VPS: Hướng Dẫn Tham Gia Mạng Lưới Truyền Tải Thông Điệp Phi Tập Trung Toàn Cầu

June 3, 2026

Giới Thiệu Về Giao Thức Nostr Và Vai Trò Của Relay

Trong kỷ nguyên số hiện nay, sự phụ thuộc vào các nền tảng mạng xã hội tập trung đã bộc lộ nhiều hạn chế nghiêm trọng: từ việc dữ liệu người dùng bị khai thác thương mại, thuật toán thao túng hiển thị, cho đến nguy cơ bị khóa tài khoản đơn phương. Trước bối cảnh đó, Nostr (Notes and Other Stuff Transmitted by Relays) nổi lên như một giải pháp đột phá. Đây không phải là một ứng dụng, mà là một giao thức mở phi tập trung cho phép truyền tải thông điệp một cách an toàn, bảo mật và hoàn toàn kháng kiểm duyệt.

Kiến trúc của Nostr hoạt động dựa trên hai thành phần cốt lõi: Clients (các ứng dụng phía người dùng như Damus, Amethyst, Iris) và Relays (các máy chủ truyền tải dữ liệu). Khác với mạng lưới blockchain, các Relay trong Nostr không cần đồng thuận phức tạp; chúng hoạt động độc lập, có nhiệm vụ nhận, lưu trữ và phân phối các sự kiện (events) được ký mã hóa từ Client. Khi bạn tự chạy một Nostr Relay riêng, bạn không chỉ đóng góp vào sự vững mạnh của mạng lưới toàn cầu mà còn đảm bảo quyền kiểm soát tuyệt đối đối với dữ liệu truyền thông của chính mình hoặc tổ chức.

Tại Sao Doanh Nghiệp Và Cá Nhân Nên Tự Chạy Nostr Relay?

Việc vận hành một Relay riêng trên VPS (Virtual Private Server) mang lại nhiều lợi ích chiến lược vượt trội:

  • Kháng kiểm duyệt tuyệt đối: Không một cơ quan hay tổ chức nào có thể xóa bỏ thông điệp của bạn khi nó được lưu trữ trên máy chủ do chính bạn kiểm soát.
  • Tối ưu hóa tốc độ và hiệu năng: Bằng cách kết nối trực tiếp đến Relay riêng đặt tại vị trí địa lý gần nhất, Client của bạn sẽ tải dữ liệu với độ trễ (latency) cực thấp.
  • Bảo mật và riêng tư: Bạn có thể cấu hình Relay ở chế độ riêng tư (Private Relay), chỉ cho phép các khóa công khai (Public Keys) được chỉ định kết nối, lý tưởng cho truyền thông nội bộ doanh nghiệp.
  • Hiểu sâu về công nghệ Web3: Đây là bước đệm hoàn hảo để tiếp cận xu hướng hạ tầng phi tập trung mà không tốn kém chi phí năng lượng như đào Bitcoin.

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

Để đảm bảo Relay hoạt động ổn định 24/7 dưới tần suất truy vấn cao, việc lựa chọn và cấu hình VPS ban đầu là cực kỳ quan trọng.

Cấu hình phần cứng khuyến nghị

Thành phầnCấu hình tối thiểuCấu hình khuyến nghị
CPU1 Core2 Cores trở lên
RAM1 GB2 GB - 4 GB
Ổ cứng20 GB SSD50 GB+ NVMe SSD (tùy thuộc lượng dữ liệu lưu trữ)
Hệ điều hànhUbuntu 22.04 LTSUbuntu 24.04 LTS / Debian 12

Các bước chuẩn bị hệ thống

Trước tiên, hãy kết nối vào VPS qua SSH và cập nhật hệ thống lên phiên bản mới nhất nhằm đảm bảo các bản vá bảo mật đã được áp dụng:

sudo apt update && sudo apt upgrade -y

Tiếp theo, chúng ta cần cài đặt Docker và Docker Compose. Việc sử dụng Docker giúp đóng gói ứng dụng Relay một cách cô lập, an toàn và dễ dàng quản lý, nâng cấp sau này.

sudo apt install docker.io docker-compose -y
sudo systemctl start docker
sudo systemctl enable docker

Hướng Dẫn Cài Đặt Nostr Relay Bằng Nostr-rs-relay

Hiện nay có nhiều phần mềm nguồn mở để chạy Relay như Strfry, Relayer, nhưng Nostr-rs-relay (viết bằng ngôn ngữ Rust) là lựa chọn phổ biến nhất nhờ hiệu năng vượt trội, quản lý bộ nhớ tối ưu và tích hợp sẵn cơ sở dữ liệu SQLite/PostgreSQL.

Bước 1: Tạo cấu trúc thư mục dự án

Tạo một thư mục riêng biệt để chứa các tệp cấu hình của Relay:

mkdir ~/nostr-relay && cd ~/nostr-relay
mkdir data

Bước 2: Cấu hình tệp config.toml

Tạo tệp cấu hình chính cho Relay để thiết lập các thông số hoạt động, giới hạn kích thước thông điệp và thông tin định danh:

nano config.toml

Sao chép và tùy chỉnh nội dung cấu hình cơ bản sau:

[info]
name = "My Enterprise Nostr Relay"
description = "Relay phi tập trung bảo mật cao vận hành trên VPS"
pubkey = "npub... (Khóa công khai của bạn)"
contact = "[email protected]"

[network]
address = "0.0.0.0"
port = 8080

[database]
data_directory = "./data"

[limits]
max_event_size = 65536 # Kích thước sự kiện tối đa (bytes)
max_ws_message_size = 131072
reject_future_seconds = 1800

Bước 3: Triển khai với Docker Compose

Tạo tệp docker-compose.yml để định nghĩa container chạy ứng dụng:

nano docker-compose.yml

Thêm nội dung cấu hình như sau:

version: '3' 
services:
  relay:
    image: scinfra/nostr-rs-relay:latest
    ports:
      - "8080:8080"
    volumes:
      - ./config.toml:/usr/src/app/config.toml
      - ./data:/usr/src/app/data
    restart: always

Khởi chạy Relay bằng lệnh:

sudo docker-compose up -d

Kiểm tra trạng thái hoạt động của container để đảm bảo không có lỗi xảy ra:

sudo docker-compose ps

Cấu Hình Bảo Mật SSL/TLS Với Nginx Reverse Proxy

Giao thức Nostr yêu cầu các kết nối Client-to-Relay phải thông qua giao thức mã hóa an toàn WebSocket Secure (WSS) thay vì WS thông thường. Do đó, chúng ta cần cài đặt Nginx để làm Reverse Proxy và cấu hình chứng chỉ SSL miễn phí từ Let's Encrypt.

Bước 1: Cài đặt Nginx và Certbot

sudo apt install nginx certbot python3-certbot-nginx -y

Bước 2: Cấu hình khối máy chủ Nginx

Tạo tệp cấu hình mới cho tên miền của bạn (ví dụ: relay.domain.com):

sudo nano /etc/nginx/sites-available/nostr-relay

Cấu hình chuyển hướng lưu lượng WebSocket vào Docker container đang chạy ở cổng 8080:

server {
    listen 80;
    server_name relay.domain.com;

    location / {
        proxy_pass [http://127.0.0.1:8080](http://127.0.0.1:8080);
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Kích hoạt cấu hình và khởi động lại Nginx:

sudo ln -s /etc/nginx/sites-available/nostr-relay /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Bước 3: Cấp phát chứng chỉ SSL Let's Encrypt

Chạy Certbot để tự động cấu hình SSL cho tên miền, biến kết nối của bạn thành mã hóa chuẩn wss://:

sudo certbot --nginx -d relay.domain.com

Kiểm Tra Và Kết Nối Đến Relay Mới Của Bạn

Sau khi thiết lập hoàn tất, bạn cần xác thực xem Relay của mình có hoạt động chính xác hay không. Bạn có thể truy cập các trang web kiểm tra trực tuyến như nostr.watch hoặc sử dụng công cụ dòng lệnh để gửi thử truy vấn.

Để kết nối và sử dụng chính thức, hãy mở ứng dụng Nostr Client ưa thích của bạn (ví dụ: Damus trên iOS hoặc Amethyst trên Android), tìm đến phần Settings > Relays, chọn "Add Relay" và điền địa chỉ của bạn vào:

wss://relay.domain.com

Ngay lập tức, bạn sẽ thấy ứng dụng đồng bộ hóa dữ liệu. Mọi bài viết, ghi chú cá nhân của bạn từ lúc này sẽ được lưu trữ một cách an toàn trên chính hạ tầng độc lập mà bạn vừa thiết lập.

Tối Ưu Hóa Hiệu Năng Và Bảo Trì Hệ Thống

Để đảm bảo hệ thống vận hành bền bỉ theo thời gian, các quản trị viên cần lưu ý một số điểm sau:

  1. Giám sát dung lượng đĩa: Cơ sở dữ liệu SQLite có thể phình to nhanh chóng nếu Relay của bạn được công khai rộng rãi. Hãy cân nhắc thiết lập whitelist hoặc giới hạn kích thước lưu trữ trong tệp config.toml.
  2. Tự động gia hạn SSL: Mặc dù Certbot tự động tạo tác vụ gia hạn, bạn nên kiểm tra định kỳ bằng lệnh sudo certbot renew --dry-run để tránh tình trạng gián đoạn kết nối do hết hạn chứng chỉ.
  3. Sao lưu dữ liệu (Backup): Thường xuyên sao lưu thư mục ~/nostr-relay/data sang một không gian lưu trữ khác (Object Storage hoặc máy tính cá nhân) để phòng ngừa sự cố phần cứng từ nhà cung cấp VPS.

Lời Kết

Việc tự chạy một Nostr Relay trên VPS không quá phức tạp nhưng mang lại giá trị to lớn về quyền tự chủ công nghệ và bảo vệ quyền tự do ngôn luận kỹ thuật số. Qua hướng dẫn này, hy vọng bạn đã có đủ kiến thức để tự tin thiết lập, vận hành và quản lý một nút thắt vững chắc trong mạng lưới truyền thông phi tập trung toàn cầu. Hãy bắt đầu ngay hôm nay để trở thành một phần của tương lai Web3!

Tự Chạy Nostr Relay Trên VPS: Hướng Dẫn Tham Gia Mạng Lưới Truyền Tải Thông Điệp Phi Tập Trung Toàn Cầu | DPTCloud