Raspberry Pi に Misskey をインストールする方法

ソーシャル メディアやマイクロブログのプラットフォームは、オンライン コミュニティを構築するための重要な鍵です。Thread や Twitter などの大規模で企業が所有するサービスは、数万人のフォロワーを獲得したい場合に最適ですが、Fediverse は人間的な規模の会話やインタラクションに重点を置いています。

Misskey は、共通の興味に基づいて Web のソーシャル コーナーを作成するために使用できるクラウド ストレージと Fediverse プラットフォームを組み合わせたものです。

Misskey とは何ですか?

Fediverse は、スタンドアロンのソーシャル メディア プラットフォームとして機能したり、連携して動作したりできるインスタンス (個々のサーバー) の広大な相互接続ネットワークです。すべての Fediverse サーバーは ActivityPub プロトコルに基づいており、最も一般的なタイプは Mastodon です。自分のハードウェアに Mastodon サーバーをセットアップするのは簡単です。

選択するサーバーのタイプは、多くの場合、興味や一緒に使用する人々の興味によって異なります。

Misskey は日本語で、アートワークはアニメ調で、マスコットとして制服を着た猫娘がいます。

見た目で騙されないでください。Misskey は、Fediverse の他の部分と完全に互換性のある、積極的に開発されているオープンソース ソフトウェアです。

さらに、非常にカスタマイズ可能で、アカウントごとにクラウド ストレージ機能が搭載されており、Misskey Web インターフェースの機能を簡単に拡張できるプラグインをサポートしています。

Raspberry Pi に Misskey をインストールする

開始する前に、ガイドの手順に従って Raspberry Pi を Web サーバーとしてセットアップします。現時点では MariaDB、PHP、Docker Compose をインストールする必要はありませんが、他の Raspberry Pi セルフホスティング プロジェクトで役立つ場合があります。

まだドメイン名を持っていない場合は、購入する必要があります。レジストラにアクセスし、高度な DNS オプションから新しい A レコードを追加します。ホストを「@」に、値フィールドを IP アドレスに設定します。TTL (リース時間) の値をできるだけ低く設定し、保存します。

Docker Compose は、システム上の他のソフトウェアと干渉することなく、Raspberry Pi に Misskey のコンテナ化されたバージョンをインストールする簡単な方法を提供します。デフォルトの Raspberry Pi OS リポジトリの Docker Compose のバージョンは古く、このプロジェクトには適していないため、SSH (セキュア シェル) を使用して Pi に接続し、Docker Compose を手動でインストールします。

これで、Raspberry Pi に Misskey をインストールする準備が整いました。

まず、Misskey GitHub リポジトリを複製し、その中に移動します。

git clone -b master https://github.com/misskey-dev/misskey.git && cd misskey

Misskey は、環境、Docker Compose、および構成ファイルの例を提供します。次のコマンド ブロックを使用して、これらを本番バージョンにコピーします。

cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml

docker.envには、PostgreSQL データベースのユーザー名、パスワード、データベース名が含まれています。次のコマンドでファイルを編集します。

nano .config/docker.env

...そして、ユーザー名とパスワードを覚えやすいものに置き換えます。Ctrl + O、次にCtrl + Xで nano を保存して終了します。次に、default.ymlを次のように編集します。

nano .config/default.yml

最終的にアクセス可能な URLセクションを探し、サンプル URL をドメインの URL に置き換えます。HTTPS プレフィックスを含めるようにしてください。

下にスクロールしてPostgreSQL 構成に移動し、以前にdocker.envに入力したデータベースの資格情報を入力します。Ctrl + O、次にCtrl + Xで nano を保存して終了します。

Misskey はポート3000で公開されます。これがすでに使用されている場合は、docker-compose.ymlを編集して別のポートを選択します。

環境変数が設定されたら、データベースを構築して初期化し、次のコマンドでマイグレーションを実行します。

sudo docker-compose build
sudo docker-compose run --rm web pnpm run init

これは迅速な手順ではなく、別のターミナル ウィンドウから Wikipedia を閲覧している間、8 分間放置しておいても問題ありません。

Misskey にファイルをアップロードできるようにするには、次のコマンドでfilesディレクトリの所有権を取得する必要があります。

sudo chown -hR 991.991 ./files

これを行わないと、画像を追加しようとすると、コード5d37dbcb-891e-41ca-a3d6-e690c97775acの内部エラー メッセージが表示されます。

次のコマンドで Misskey を起動します。

docker-compose up -d

数分後、ブラウザで次のアドレスにある Misskey インスタンスにアクセスできるようになります:your-pi-local-ip-address:3000

Misskey Docker コンテナの状態とログを詳しく知りたい場合は、lazydocker をインストールして使用できます。

Misskey インスタンスを Web に公開する

Apache2 と Certbot はすでにインストールされているはずなので、次は設定ファイルを作成するのに良いタイミングです。

cd /etc/apache2/sites-available && sudo nano misskey.conf

新しいファイルに、次の内容を貼り付けます。

<VirtualHost *:80>
ServerName muo.lol
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http:/127.0.0.1:3000/
ProxyPreserveHost On
</VirtualHost>

docker-compose.ymlでポートを変更した場合は、ここでも変更してください。muo.lolを自分のドメイン名に置き換え、httphttpsのプレフィックスを含めないように注意してください。Ctrl + O、次にCtrl + Xで nano を保存して終了し、conf ファイルを有効にして Apache を再起動します。

sudo a2ensite misskey.conf
sudo service apache2 restart

Certbot は、Misskey インスタンスの TLS 証明書と鍵を取得して展開するための最も簡単な方法を提供します。次で起動します。

sudo certbot

リストからドメイン名を選択してEnterを押し、次に次で Apache を再起動します。

sudo service apache2 restart

これで Misskey インスタンスは中間者攻撃から保護され、Web に公開されました。

Misskey 管理者アカウントを作成する

お気に入りの Web ブラウザにドメイン名を入力して Misskey インスタンスにアクセスし、管理者ユーザーを作成して強力なパスワードを生成します。ユーザー名は@[email protected]の形式になります。この最初の部分のみを変更できます。

プロフィールを設定するように求められますが、後でをクリックして延期することもできます。ただし、プロフィール作成ウィザードがポップアップ表示され、他のことをしているときに邪魔になります。プロフィール写真を選択し、名前自己紹介を入力し、保存をクリックして続行します。

次の画面では、ユーザーアカウントに多くのプライバシー オプションが用意されています。フォロワーのリクエストに承認が必要かどうか、検索エンジンが投稿をインデックス付けできるかどうか、投稿の学習を許可しないようにフラグを設定するかどうか、オンライン ステータスを非表示にするかどうかを選択できます。残りのオプションをクリックして自由に設定してください。

Misskey インスタンスをカスタマイズする方法

あなたのような管理者ユーザーは、左側のナビゲーション バーにあるコントロール パネルエントリからインスタンスの設定をカスタマイズして制御できます。

ダッシュボードには、アクティブ ユーザー、オンライン ユーザーの数、サーバーが連合している他のインスタンスなど、インスタンスの概要を把握するために必要なすべての事実、数値、統計が表示されます。予想通り、カスタム絵文字ではカスタム絵文字 パックを指定できます。

コントロール パネル > 設定 > 一般で、インスタンス名、説明、管理者の詳細など、インスタンスに関する情報を提供する必要があります。これらを設定する必要はありませんが、適切な説明があると、人々があなたのインスタンスに参加するか、他の場所を探すかを判断するのに役立ちます。リモート ファイルをキャッシュするかどうかも選択できます。このオプションを無効にすると、ストレージの使用量は少なくなりますが、帯域幅の使用量は増えます。

ブランディングでは、アイコン、バナー、背景画像、エラー画像の URL を設定し、テーマを指定できます。これにより Misskey インスタンスの外観が決まるので、思いっきりカスタマイズしてください。設定 > テーマから簡単に追加のテーマを設定できます。

モデレーション設定は、Fediverse インスタンスを正常に実行するために重要であり、誰がサインアップしてサインインできるかを制御する方法が必要です。新規ユーザー登録を有効にするトグルで、プラットフォームで新しいアカウントを作成することを許可するか、許可しないかを選択できます。ローカル ユーザーが多すぎると、Raspberry Pi は負荷に耐えられなくなります。さらに、新しいアカウントを有効なメール アドレスで作成することを要求することもできます。

誰もがどのように行動すべきかを知るために、サーバー ルールをクリックし、誰もが従うべき基本的なルールをいくつか作成します。繰り返しますが、これは必須ではありませんが、後で禁止ハンマーを振るう必要が生じたときに、誰もが自分の立場を理解していることを意味します。好きなだけ基本的なルールにすることができ、より詳細な利用規約契約を作成することもできます。ユーザーを追加して、適宜役割を割り当てることを自由に感じてください!

Misskey は Fediverse サーバーを作成するための優れたソフトウェアです!

Misskey はセットアップと構成が簡単で、行き詰まった場合は、喜んでお手伝いしてくれる親切な人がたくさんいます。

Misskey があなたに適したソリューションではない場合は、Raspberry Pi でホストできる数十種類もの Fediverse インスタンスがあります!