Linux に Nostr リレーをインストールする方法

Linux に Nostr リレーをインストールする方法

Nostr は、軽量かつ柔軟な分散型ソーシャル メディア プラットフォームを作成する革新的なプロトコルです。これを機能させるために、Nostr ネットワークは単純なノード リレーに依存して、暗号化されたメッセージを目的の受信者に送信します。ここでは、Ubuntu で Nostream を使用して Nostr Relay ノードを作成するプロセスについて説明します。また、Gossip クライアントと Amethyst クライアントの両方で新しいノードに接続する方法も示します。

ノーストリームを使用する理由

Nostreamは Typescript で書かれた nostr リレーです。nostream を使用する主な利点は、ソーシャル メディア データを制御できることです。Pleromaと同様に、独自の Nostr リレー ノードをホストするということは、ネットワーク上でブロードキャストするときにプラットフォームとデータを所有していることを意味します。

さらに、Nostream は完全に Docker 化されたインストールをサポートしています。これは、既存のサーバー スタックに簡単にデプロイできることを意味します。

ノーストリームのインストール

Docker と Docker Compose の取得

前提条件:この記事は、少なくとも 8GB の RAM を備えた VPS と、サーバーの IP アドレスを指す A および PTR レコードを持つドメイン名があることを前提としています。また、有効なキーペアを持つ 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

「environment:」カテゴリまでスクロールし、「SECRET:」環境変数の値をランダムな文字列に置き換えます。

インスタンスのコアランダムシークレットを強調表示するターミナル。

最後に、nostream インスタンスを再起動します。

./scripts/start

Nostream へのパブリックアクセス

ドメイン名の nostream にアクセスできるようにするには、トラフィックを Docker インスタンスにルーティングするNginx リバース プロキシを作成する必要があります。

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 スナップ パッケージをインストールします。

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

Web ブラウザを開いてその Web アドレスに移動して、新しい nostream リレーが動作しているかどうかをテストします。

nostream インストールが成功したことを示すスクリーンショット。

nostream と Gossip Nostr クライアントのリンク

新しい nostream リレーを Gossip にリンクするには、プログラムの左側のサイドバーにある「リレー」カテゴリをクリックします。

を強調表示するスクリーンショット

「リレー」カテゴリの下にある「リレーの追加」ボタンをクリックします。

の内容を示すスクリーンショット

これにより、nostream インスタンスのアドレスを記入できる小さなテキストボックスが表示されます。新しいリレーのアドレスとその WebSocket の「wss://」プロトコル ヘッダーを指定します。

新しい nostream リレーのアドレスを示すスクリーンショット。

「チェック」をクリックし、続いて「構成」をクリックして新しいリレーを設定します。

Gossip は、新しいリレーがクライアントに対してどのように動作するかを決定できる設定ページをロードします。インスタンスからメッセージを送受信するには、設定ページで「読み取り」スイッチと「書き込み」スイッチを切り替えます。

他のリレーと通信するには、「受信ボックス」、「送信ボックス」、および「アドバタイズ」スイッチを切り替えます。

現在の nostream インスタンスのアクティブな機能を示すスクリーンショット。

新しい Nostr メモを送信して、リレーが適切に動作しているかどうかをテストします。

Gossip の Nostr メモのサンプルを示すスクリーンショット。

nostream と Amethyst Nostr クライアントのリンク

Gossip とは別に、新しい nostream インスタンスを Amethyst などの他の Nostr クライアントにリンクすることもできます。これを行うには、アプリの左上隅にあるユーザー アイコンをクリックします。

Amethyst のユーザー メニューを強調表示したスクリーンショット。

ポップアップサイドバーの「リレー」オプションをクリックします。

を強調表示するスクリーンショット

「リレーの追加」テキストボックスを選択し、プロトコルヘッダーを除いた新しいリレーのアドレスを入力します。

リレー プロンプトを強調表示するスクリーンショット。

「追加」をクリックして、新しい nostream インスタンスをクライアントに適用します。

サンプル Nostr ノートを送信して、新しいインスタンスがメッセージを適切に中継しているかどうかをテストします。

Amethyst の Nostr ノートの例を示すスクリーンショット。

Nostr リレーを主催することは、デジタル ライフのコントロールを取り戻す方法の 1 つにすぎません。独自のソーシャル メディア プラットフォームとは別に、ownCloud を使用してクラウド オフィス プラットフォームを提供したり、Peertube を通じて独自のビデオ ホスティング Web サイトをホストしたりすることもできます。

画像クレジット: Paulina Chmolowska、Unsplash 経由。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です