Featured image of post 【超簡単】余った中古デスクトップをMisskeyサーバーとして再利用

【超簡単】余った中古デスクトップをMisskeyサーバーとして再利用

目次

はじめに

みなさん、こんにちは。

最近はMisskeyというものをよくやっています。

誰でも自分のサーバーを立てられるSNSで、他の人が立てた別のサーバーと接続して、投稿を見たりリアクションしたりなどのやりとりができます。

Misskey Hub

昨今のTwitter、あ、間違えました、Xがクソすぎて、移住先として最近知った人も多いんじゃないかなあと思います。


既存のサーバーにアカウントを作るのが一般的のような風潮がありますが、実はMisskeyサーバーを立てるのはものすごい簡単です!

というわけで今回は、いらなくなって家に眠っている古いPCを、Misskeyサーバーに昇華させていきたいと思います。

必要なもの

適当なPC

サーバーにする適当なPCが1台必要です。

今回は、EPSON Endeavor ST125Eという古めかしいパソコンが家に転がっていたので、こいつを使っていきます。

[FAQ番号:029943]ST125E : 製品仕様|FAQ Search|エプソンダイレクト

スペックはこんなもんです。

CPUメモリストレージ
Core2 Duo T99004 GB128 GB SSD

1人用のサーバーなら、このくらいのスペックがあれば十分です。ただ、メモリは少なくとも4GBはあったほうがいいと思います。あと、さすがにHDDではなくSSDのほうがいいです。

複数人で利用することを想定しているなら、もう少し性能がいいほうがいいかもしれません。

こういった古いデスクトップPCは、どのご家庭にも転がっていると思いますので、そちらを使用してもらって構いません。

稀に、PCが転がっていないご家庭もあるようです。そういった場合は、Raspberry Pi 4や、Amazonとかで売られている中華製のミニPCがおすすめです。

あとはハドフとか秋葉原とかでジャンクPCを買ってきてもいいと思います。

適当なUSBメモリ

Linuxのインストールメディアにする用のUSBメモリが必要です。

手順

サーバー用のOSを入れる

サーバーにするPCに適当なLinuxを入れます。

今回はUbuntu Mateを入れました。localhostが見られるので、慣れない人はUbuntu ServerとかではなくGUIがあるやつがいいと思います。

Choose an architecture | Download

Rufusなどのソフトを使ってUSBメモリに書き込みます。

USBメモリをサーバーにするPCでブートし、OSをインストールします。

Dockerをインストール

下のリンクに従って、さっきUbuntuを入れたサーバーにDockerをインストールします。

Install Docker Engine on Ubuntu | Docker Documentation

ここのInstallation-methodsの通りにやらないと、あとで面倒なことになります。

Docker Composeのコマンドは、ハイフンが入るdocker-composeと、ハイフンが入らないdocker composeの2種類あります。

どちらも同じような機能を提供するものなのですが、今回の手順ではハイフンが入らない方のdocker composeでないとうまくいきません。

だから、公式の手順に従う必要があったんですね。

Misskeyを用意する

サーバー機で以下のコマンドを実行してMisskey本体をダウンロードします。

git clone -b release https://github.com/taiyme/misskey.git
cd misskey

MisskeyはMisskeyでもmisskey-dev/misskeyではなく、taiyme/misskeyを使っていきます。

taiyme/misskey: 🌎 An interplanetary microblogging platform 🚀

taiyme/misskey(以降、taiy fork)は、Misskey公式から派生したフォークです。

現在のMisskeyの最新版はv13ですが、v12からv13にバージョンが変わる過程で大幅な仕様変更がありました。taiy forkではv12を安定して使えるようにメンテナンスしつつ、独自の機能拡張を施しています。

また、公式のものとは違い、GitHub Actionsを使ってビルドする(ローカルでビルドしない)ので、今回のような性能の低いPCでも負荷をかけずに実行できます。

config編集

cloneが完了したら、Misskeyの設定をしていきます。

以下のコマンドを実行して、各設定ファイルのサンプルをコピーします。

cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env

その後、設定ファイルを編集しますが、ほとんどの場合、default.ymlのURLを、自分が使いたいドメインに変更するだけで大丈夫です。

Ubuntuにはデフォルトでnanoというテキストエディタが入っています。ターミナルでnano .config/default.ymlを実行して設定ファイルを編集します。

urlの部分を変更する

編集が完了したら保存します。

起動する

以下のコマンドを実行すると、localhostでMisskeyが起動します。

sudo docker compose up -d

完了後、サーバーのブラウザでhttp://localhost:3000にアクセスするか、同じネットワークに接続した機器からhttp://(IPアドレス):3000にアクセスすると、以下のような画面が出るはずです。

Welcome to Misskey

Cloudflare Tunnelでサーバーを公開する

作ったMisskeyサーバーにドメインを割り当てて安全に公開するために、Cloudflare Tunnelというものを使います。

まず、Cloudflareにアカウントを作ります。

作ったら、Cloudflareダッシュボードの左側のメニューの「ドメイン登録」から、自分のドメインを追加します。ドメインを持っていない場合は、Cloudflareのレジストラで登録すると楽だと思います。

登録が完了したら、メニューからCloudflare Zero Trustを起動します。

Zero Trust

初回のみ、以下のような画面が出てきます。適当に入力して進みます。プランの選択画面が表示されますが、無料プランを選択します。住所とかは正しく入力してください。

適当に入力してNext

完了したら、Zero Trustのダッシュボードを開けるようになっています。

「Access」→「Tunnels」と進み、「Create a tunnel」をクリックします。

Create a tunnel

Tunnelの名前を設定する画面が表示されるので、適当にmisskeyなどと設定して保存します。

Tunnnel nameをmisskeyに設定

「Choose your environment」から環境を選択します。今回はサーバーOSとしてUbuntuを使っているので、Debian 64-bitを選択します。

Debian 64b-it

すると、以下のようなコマンドが2つ表示されます。

表示されたコマンドのうち、 “If you don’t have cloudflared installed” のほうをコピーして、サーバーのターミナルで実行します。

don’t have のほうを実行

正しく接続できたらConnectorsに表示されるので、次へ進みます。

Public hostnameに、configの編集で設定したドメインと同じになるように、自分のドメインを選択し、必要に応じてサブドメインを入力します。

ServiceにはMisskeyのconfigに入力したポートを入力します。今回は特にいじっていないので、http://localhost:3000でよいです。

入力例

入力が完了したら、「Save tunnel」で保存します。

管理者アカウント作成

先程設定したドメインにアクセスすると、localhostで起動したときと同じようにMisskeyが起動している(ただし、@以降が自分の設定したドメインになっている)はずです。

管理者アカウントのユーザー名とパスワードを設定してログインすると、Misskeyのメイン画面が表示されます。

その後、「コントロールパネル」→「設定」から、サーバーのプロフィールなどを適宜設定します。

これで、Misskeyサーバーが出来上がりました。

アップデート方法

taiy forkにアップデートがあった場合は、以下のコマンドを実行することでアップデートできます。

git stash
git checkout release
git pull
git stash pop
docker compose up -d

詳しくは以下を参照してください。

Docker Composeを使ったMisskey構築

おわりに

実際にこの手順で立てて運用しているサーバーがこちらです。

Momogumi

基本自分1人で使っていて、たまに2,3人オンラインになる程度ですが、特に不便なく動いています。CPUやメモリの使用率もこんな感じで、問題ないです。

CPU・メモリ使用率

文章にすると小難しいような感じがしますが、実際にやってみると非常に簡単です。

パソコンが余っていて使い道に悩んでいる人や、自分用のサーバーを立てて動かしたい人は、ぜひやってみてください。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。