如何在 Linux 中安裝 Nostr 中繼
Nostr 是一個創新協議,它創建了一個輕量級且靈活的去中心化社交媒體平台。為了實現這一目標,Nostr 網路依靠簡單的節點中繼將加密的訊息傳送給預期的接收者。在這裡,我們將引導您完成在 Ubuntu 上使用 Nostream 建立 Nostr Relay 節點的過程。我們也向您展示如何在 Gossip 和 Amethyst 用戶端上連線到新節點。
為什麼要使用Nostream?
Nostream是一個 nostr 中繼,用 Typescript 寫。使用 nostream 的主要優點是它使您可以控制社交媒體資料。與Pleroma類似,託管您自己的 Nostr 中繼節點意味著您在透過網路廣播時擁有自己的平台和資料。
此外,Nostream 支援完全 Docker 化的安裝。這意味著您可以輕鬆地將其部署到任何現有的伺服器堆疊上。
安裝Nostream
取得Docker和Docker Compose
假設:本文假設您有一個至少有 8GB RAM 的 VPS,以及一個帶有 A 和 PTR 記錄指向您伺服器 IP 位址的網域名稱。它還假設您已經擁有一個帶有有效密鑰對的 Nostr 帳戶。
首先,取得 Docker 專案的二進位套件儲存庫的簽章金鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
在「/etc/apt/sources.list.d」中為 Docker 建立一個新的儲存庫檔案:
sudo nano /etc/apt/sources.list.d/docker.list
將以下程式碼區塊貼到新儲存庫檔案中並儲存:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
透過執行以下命令來更新和升級您的 Ubuntu 系統:
sudo apt update && sudo apt upgrade
安裝 Docker 二進位檔案及其 Docker Compose 外掛程式和相依性:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git nodejs npm
最後,將目前使用者新增至 Docker 系統群組:
sudo usermod -aG docker ramces
取得並安裝nostream
取得 nostream 的 git 儲存庫並進入儲存庫資料夾:
git clone https://github.com/Cameri/nostream.git && cd. /nostream
執行 nostream 引導腳本來建置 nostream 伺服器守護程序並將其部署為系統上的 Docker 容器:
./scripts/start
等到 nostream Docker 容器列印「nostream」徽標,然後按Ctrl+ C。
使用您喜歡的文字編輯器開啟 nostream 實例的設定檔:
nano. /.nostr/settings.yaml
將relay_url:和name:變數的值替換為您實例的網域。
將pubkey:變數的值替換為您的主 Nostr 帳戶的公鑰。
將contact: 變數上的電子郵件地址變更為您目前正在使用的有效地址。
開啟實例的「docker-compose.yml」檔案:
nano. /docker-compose.yml
捲動到“環境:”類別,然後將“秘密:”環境變數的值替換為隨機字串。
最後,重新啟動您的 nostream 實例:
./scripts/start
公開訪問 Nostream
為了能夠存取您網域上的 nostream,我們需要建立一個Nginx 反向代理來將流量路由到 Docker 執行個體。
為您的 nostream 實例建立一個新的網站設定檔:
sudo nano /etc/nginx/sites-available/nostream
將以下程式碼區塊貼到新網站設定檔中:
server {
server_name nostr.myvpsserver.top;
location / {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}
在“/etc/nginx/sites-enabled/”內為新網站設定檔建立符號連結:
sudo ln -s /etc/nginx/sites-available/nostream /etc/nginx/sites-enabled
測試 Nginx 的設定:
sudo nginx -t
如果一切正常,請透過重新啟動 Nginx 伺服器守護程式來套用新設定:
sudo systemctl restart nginx
使用 SSL 憑證保護 Nostream
確保核心快照包正在您的 VPS 上運行:
sudo snap install core
安裝來自電子前沿基金會 (EFF) 的 certbot snap 套件:
sudo snap install certbot --classic
透過執行以下命令將您的 certbot 安裝註冊到 EFF:
sudo certbot register --agree-tos -m you@your-email.invalid
為您的 nostream 反向代理程式要求新的 SSL 憑證:
sudo certbot --nginx -d nostr.myvpsserver.top
透過開啟網頁瀏覽器並導航至其網址來測試新的 nostream 中繼是否正常運作。
將 nostream 與 Gossip Nostr 用戶端鏈接
要將新的 nostream 中繼與 Gossip 鏈接,請單擊程式左側邊欄上的“中繼”類別。
點選“繼電器”類別下的新增繼電器按鈕。
這將彈出一個小文字框,您可以在其中寫入 nostream 實例的位址。提供新中繼的位址及其 WebSocket“wss://”協定標頭。
按一下“檢查”,然後按一下“配置”以設定新繼電器。
然後 Gossip 將載入一個設定頁面,您可以在其中確定新中繼對客戶端的行為方式。若要從您的實例傳送和接收訊息,請切換設定頁面上的「讀取」和「寫入」開關。
切換「收件匣」、「寄件匣」和「廣告」開關,以便與其他中繼通訊。
透過發送新的 Nostr 註解來測試您的繼電器是否正常運作。
將 nostream 與 Amethyst Nostr 用戶端鏈接
除了 Gossip 之外,您還可以將新的 nostream 實例與其他 Nostr 用戶端(例如 Amethyst)連結。為此,請點擊應用程式左上角的用戶圖示。
點擊彈出側邊欄上的“繼電器”選項。
選擇「新增中繼」文字框,然後鍵入新中繼的位址(不含協定頭)。
按一下「新增」將新的 nostream 執行個體套用到您的客戶端。
透過傳送範例 Nostr 註解來測試您的新實例是否正確中繼訊息。
託管 Nostr 中繼只是奪回數位生活控制權的一種方式。除了您自己的社群媒體平台外,您還可以使用 ownCloud 提供雲端辦公室平台,以及透過 Peertube 託管您自己的影片託管網站。
圖片來源:Paulina Chmolowska,來自 Unsplash。所有修改和螢幕截圖均由 Ramces Red 進行。
發佈留言