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 インスタンスの構成ファイルを開きます。
nano. /.nostr/settings.yaml
relay_url:変数とname:変数の値をインスタンスのドメイン名に置き換えます。
pubkey:変数の値をプライマリ 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 と Gossip Nostr クライアントのリンク
新しい nostream リレーを Gossip にリンクするには、プログラムの左側のサイドバーにある「リレー」カテゴリをクリックします。
「リレー」カテゴリの下にある「リレーの追加」ボタンをクリックします。
これにより、nostream インスタンスのアドレスを記入できる小さなテキストボックスが表示されます。新しいリレーのアドレスとその WebSocket の「wss://」プロトコル ヘッダーを指定します。
「チェック」をクリックし、続いて「構成」をクリックして新しいリレーを設定します。
Gossip は、新しいリレーがクライアントに対してどのように動作するかを決定できる設定ページをロードします。インスタンスからメッセージを送受信するには、設定ページで「読み取り」スイッチと「書き込み」スイッチを切り替えます。
他のリレーと通信するには、「受信ボックス」、「送信ボックス」、および「アドバタイズ」スイッチを切り替えます。
新しい Nostr メモを送信して、リレーが適切に動作しているかどうかをテストします。
nostream と Amethyst Nostr クライアントのリンク
Gossip とは別に、新しい nostream インスタンスを Amethyst などの他の Nostr クライアントにリンクすることもできます。これを行うには、アプリの左上隅にあるユーザー アイコンをクリックします。
ポップアップサイドバーの「リレー」オプションをクリックします。
「リレーの追加」テキストボックスを選択し、プロトコルヘッダーを除いた新しいリレーのアドレスを入力します。
「追加」をクリックして、新しい nostream インスタンスをクライアントに適用します。
サンプル Nostr ノートを送信して、新しいインスタンスがメッセージを適切に中継しているかどうかをテストします。
Nostr リレーを主催することは、デジタル ライフのコントロールを取り戻す方法の 1 つにすぎません。独自のソーシャル メディア プラットフォームとは別に、ownCloud を使用してクラウド オフィス プラットフォームを提供したり、Peertube を通じて独自のビデオ ホスティング Web サイトをホストしたりすることもできます。
画像クレジット: Paulina Chmolowska、Unsplash 経由。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す