如何在 Linux 中安裝 Nostr 中繼

如何在 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 首次成功運作。

使用您喜歡的文字編輯器開啟 nostream 實例的設定檔:

nano. /.nostr/settings.yaml

將relay_url:name:變數的值替換為您實例的網域。

終端機反白顯示實例的 nostream 位址。

將pubkey:變數的值替換為您的主 Nostr 帳戶的公鑰。

終端機突出顯示實例管理員的 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 安裝成功的螢幕截圖。

將 nostream 與 Gossip Nostr 用戶端鏈接

要將新的 nostream 中繼與 Gossip 鏈接,請單擊程式左側邊欄上的“中繼”類別。

螢幕截圖突出顯示

點選“繼電器”類別下的新增繼電器按鈕。

顯示內容的螢幕截圖

這將彈出一個小文字框,您可以在其中寫入 nostream 實例的位址。提供新中繼的位址及其 WebSocket“wss://”協定標頭。

顯示新 nostream 中繼位址的螢幕截圖。

按一下“檢查”,然後按一下“配置”以設定新繼電器。

然後 Gossip 將載入一個設定頁面,您可以在其中確定新中繼對客戶端的行為方式。若要從您的實例傳送和接收訊息,請切換設定頁面上的「讀取」和「寫入」開關。

切換「收件匣」、「寄件匣」和「廣告」開關,以便與其他中繼通訊。

顯示目前 nostream 實例的活動功能的螢幕截圖。

透過發送新的 Nostr 註解來測試您的繼電器是否正常運作。

顯示 Gossip 中的 Nostr 註解樣本的螢幕截圖。

將 nostream 與 Amethyst Nostr 用戶端鏈接

除了 Gossip 之外,您還可以將新的 nostream 實例與其他 Nostr 用戶端(例如 Amethyst)連結。為此,請點擊應用程式左上角的用戶圖示。

反白顯示 Amethyst 中的使用者選單的螢幕截圖。

點擊彈出側邊欄上的“繼電器”選項。

螢幕截圖突出顯示

選擇「新增中繼」文字框,然後鍵入新中繼的位址(不含協定頭)。

反白中繼提示的螢幕截圖。

按一下「新增」將新的 nostream 執行個體套用到您的客戶端。

透過傳送範例 Nostr 註解來測試您的新實例是否正確中繼訊息。

顯示 Amethyst 中的 Nostr 註解範例的螢幕截圖。

託管 Nostr 中繼只是奪回數位生活控制權的一種方式。除了您自己的社群媒體平台外,您還可以使用 ownCloud 提供雲端辦公室平台,以及透過 Peertube 託管您自己的影片託管網站

圖片來源:Paulina Chmolowska,來自 Unsplash。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *