Fediverseは、相互に接続されたソーシャルメディアサーバーのネットワークであり、興味のある人とフォローしたり交流したりできる一貫したネットワークを形成するために連邦化されています。
最もよく知られているFediverseサーバーの種類はMastodonですが、Fediverseには数十種類のサーバーがあります。Akkomaは、Raspberry Piに簡単にデプロイできるフル機能のサーバーです。方法は次のとおりです。
Akkomaとは?
すべてのFediverseサーバーと同様に、Akkomaは実行するためにActivityPubプロトコルに依存しています。人気のPleromaコードベース上に構築されていますが、MissKeyの機能(他のユーザーアカウントが実行しているサーバーの種類を確認する機能など)を借用しています。Akkomaは非常に活発に開発されており、定期的に更新されています。
Akkomaを使用すると、独自のアイコンパックを追加したり、投稿にさまざまなマークダウンフレーバーを使用したり、Fediverseインスタンスが使用するフロントエンドをカスタマイズしたり、投稿を編集したり、他の人の投稿を引用したり、任意の文字制限を設定したりできます。
Raspberry PiにAkkomaをインストールする方法
Raspberry Piをサーバーとして使用しているため、最初にRaspberry PiをWebサーバーとして設定する方法に関するガイドに従う必要があります。現時点では、MariaDB、PHP、またはDocker Composeを設定する手順に従う必要はありません。
Piがサーバーとして機能する準備ができたら、SSHを使用してリモートで接続し、Docker Composeの最新リリースを手動でインストールします。
Akkoma Gitリポジトリをクローンして移動します。
git clone https://akkoma.dev/AkkomaGang/akkoma.git -b stable && cd akkoma
次に、次のコマンドでDocker Composeの環境変数を設定します。
cp docker-resources/env.example .envecho "DOCKER_USER=$(id -u):$(id -g)" >> .env
このプロセスには数分かかります。コマンドプロンプトに戻ったら、コンテナーをビルドする必要があります。
./docker-resources/build.sh
繰り返しますが、しばらく時間がかかります。このプロセスには約3分かかり、Raspberry Piで実行できる他の自己ホスト型プロジェクトをチェックしたり、Linuxターミナルでソリティアをプレイしたりするのに十分な時間があります。
Dockerコンテナーを作成しただけでは、まだ実行できる状態にはありません。次のコマンドグループを貼り付けてから、Enterを押します。
mkdir pgdata./docker-resources/manage.sh mix deps.get./docker-resources/manage.sh mix compile./docker-resources/manage.sh mix pleroma.instance gen
Hexとrebar3をインストールするかどうかを聞かれたら、Yと答えます。アプリはさらに約12分間コンパイルされます。この時間を使って、前向きな気持ちになるポッドキャストを聴いてみましょう。
インスピレーションと活力が湧いたら、コマンドラインに戻ってインスタンスに関するいくつかの質問に答える必要があります。プロンプトが表示されたら、http://またはhttps://プレフィックスなしでドメイン名を入力し、その後にインスタンスの名前とメールアドレスを入力します。
検索エンジンにサイトをインデックス登録させるかどうか(あなた次第です)と、データベースに設定を保存するかどうかを選択する必要があります。このオプションでははいを選択すると、管理Webインターフェイスを介してインスタンスを管理できます。
データベースのホスト名をdbに設定し、データベース名とユーザーをakkomaとして確認し、データベースのパスワードをakkomaと入力します。
RUMインデックスを使用すると、PostgreSQLデータベースを高速に検索できるため、使用するかどうかを聞かれたらyをタップします。デフォルトのポートは4000です。他の自己ホスト型ソフトウェアでポート4000を使用していない限り、この設定のままにしておくことができます。
使用中のポートを確認する簡単な方法は、別のターミナルウィンドウまたはタブを開いて、次を入力することです。
sudo lsof -i -P -n | grep LISTEN
アプリがリッスンするIPを0.0.0.0に設定し、残りの質問には妥当なデフォルト値を受け入れます。
このプロセスは、インスタンス構成がconfig/generated_config.exsに生成されて終了します。このファイルを新しい場所にコピーします。
cp config/generated_config.exs config/prod.secret.exs
次のコマンドは、コンテナーIDを64文字の文字列として返します。安全な保管のために別の場所にコピーします。次に、このコマンドを使用してデータベースを設定します。
docker-compose run --rm akkoma psql -h db -U akkoma -f config/setup_db.psql
コンテナーが正常にセットアップされたら、次のように停止します。
docker stop container_id_you_noted_earlier
次を入力します。
./docker-resources/manage.sh mix ecto.migrate
...マイグレーションを実行し、ファイルを再コンパイルします。 「10秒以上かかっています」という通知が複数表示され、このプロセスでは十分な時間をかけてお茶を入れることができます。
ユーザーが操作するためのインターフェイスがインスタンスに必要です。現時点では、Pleromaフロントエンドと管理者フロントエンドのみが必要です。
./docker-resources/manage.sh mix pleroma.frontend install pleroma-fe --ref stable./docker-resources/manage.sh mix pleroma.frontend install admin-fe --ref stable
これで管理ユーザーを作成する準備が整いました。次を入力します。
./docker-resources/manage.sh mix pleroma.user new your-desired-username [email protected] --admin
このコマンドは、これまでに入力した情報の概要を返します。それが正しいことを確認してから、yと入力します。
管理者パスワードをリセットするためのリンクが生成されます。インスタンスはまだ実行されておらず、インターネットに公開されていないため、後でリンクをメモしておきます。
AkkomaインスタンスをWebに公開する
AkkomaインスタンスのApache設定ファイルを作成する必要があります。
cd /etc/apache2/sites-availablesudo nano akkoma.conf
新しいファイルに、次の内容を貼り付けます。
ServerName your-domain-name.tldProxyPass / http://127.0.0.1:4000/ProxyPassReverse / http:/127.0.0.1:4000/ProxyPreserveHost On
Ctrl + O、Ctrl + Xでnanoを保存して終了します。confファイルを有効にしてから、Apacheを再起動します。
sudo a2ensite akkoma.confsudo service apache2 restart
次に、Certbotを使用してTLS証明書とキーを取得してデプロイします。
sudo certbot
リストからドメイン名を選択し、Enterを押します。次のようにしてApacheを再度再起動します。
sudo service apache2 restart
Akkomaディレクトリに戻り、Docker Composeをデタッチモードで起動します。
cd ~/akkomadocker-compose up -d
数分待ってから、パスワードリセットリンクを使用してAkkomaインスタンスにアクセスします。インスタンスを保護するために強力なパスワードを選択してください。
Akkomaインスタンスをカスタマイズする
他の操作を行う前に、your-domain-name.tld/pleroma/adminにあるWeb管理ページにアクセスする必要があります。
ここには数百のオプションがありますが、現時点ではほとんどを無視しても問題ありません。設定>フロントエンドを選択し、変更可能なすべての項目を読み通します。デフォルトのPleromaとは異なるフロントエンドを選択したり、背景を別の画像に設定したりすることができます。
ここで何を選択するかは、あなたとユーザー次第です。利用可能な機能のアイデアを得るために、デモインスタンスで次の設定を行いました。
>文字で始まる行の緑のテキストを有効にし、会話の表示スタイルをツリーに設定しました。サイトのロゴをこのライターの頭部の漫画に設定し、様式化されたNSFW画像の警告をアップロードしました。
より深刻な話として、ログイン時にユーザーに表示されるデフォルトのフィード、ログインしていない訪問者に表示されるフィード、パネルの配置方法、レンダリングするマークダウンのフレーバーを選択する必要があります。
フロントエンドに満足したら、設定>インスタンスに進みます。サイト名と説明を設定し、制限を確認します。
主流のソーシャルメディアサイトの文字制限は比較的低いですが、自由に設定することができます。自身のインスタンスからの投稿には750,000文字の制限を設定しましたが、リモートインスタンスからの投稿にはわずか100,000文字の制限を課しました。ファイルのアップロードとアバターにも制限を設定できます。
ユーザーがインスタンスに直接登録できるようにするか、招待制のシステムを好むか、他のインスタンスと連携するか、それともソーシャルメディアサイトを完全に孤立させて実行するかなど、その他の重要な考慮事項があります。設定には多くのオプションがあるので、数時間かけて使い慣れておく必要があります。
完了したら、メインURLからログインして、Fediverseのフォロワーを増やしましょう。
Akkomaは唯一のFediverseサーバーではない
Akkomaはお気に入りのFediverseサーバーであり、Raspberry Piでインスタンスを実行するのに最適ですが、唯一のサーバーではありません。
Fediverseは、志を同じくする人々のグループのためのオンライン街を作るのに最適な場所であり、さまざまなタイプを試すことで、独自のオンラインコミュニティを構築するための完璧なサーバーを見つけることができます。
コメントする