目次
はじめに
みなさん、こんにちは。
最近はMisskeyというものをよくやっています。
誰でも自分のサーバーを立てられるSNSで、他の人が立てた別のサーバーと接続して、投稿を見たりリアクションしたりなどのやりとりができます。
昨今のTwitter、あ、間違えました、Xがクソすぎて、移住先として最近知った人も多いんじゃないかなあと思います。
既存のサーバーにアカウントを作るのが一般的のような風潮がありますが、実はMisskeyサーバーを立てるのはものすごい簡単です!
というわけで今回は、いらなくなって家に眠っている古いPCを、Misskeyサーバーに昇華させていきたいと思います。
必要なもの
適当なPC
サーバーにする適当なPCが1台必要です。
今回は、EPSON Endeavor ST125Eという古めかしいパソコンが家に転がっていたので、こいつを使っていきます。
[FAQ番号:029943]ST125E : 製品仕様|FAQ Search|エプソンダイレクト
スペックはこんなもんです。
CPU | メモリ | ストレージ |
---|---|---|
Core2 Duo T9900 | 4 GB | 128 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
を実行して設定ファイルを編集します。
編集が完了したら保存します。
起動する
以下のコマンドを実行すると、localhostでMisskeyが起動します。
sudo docker compose up -d
完了後、サーバーのブラウザでhttp://localhost:3000
にアクセスするか、同じネットワークに接続した機器からhttp://(IPアドレス):3000
にアクセスすると、以下のような画面が出るはずです。
Cloudflare Tunnelでサーバーを公開する
作ったMisskeyサーバーにドメインを割り当てて安全に公開するために、Cloudflare Tunnelというものを使います。
まず、Cloudflareにアカウントを作ります。
作ったら、Cloudflareダッシュボードの左側のメニューの「ドメイン登録」から、自分のドメインを追加します。ドメインを持っていない場合は、Cloudflareのレジストラで登録すると楽だと思います。
登録が完了したら、メニューからCloudflare Zero Trustを起動します。
初回のみ、以下のような画面が出てきます。適当に入力して進みます。プランの選択画面が表示されますが、無料プランを選択します。住所とかは正しく入力してください。
完了したら、Zero Trustのダッシュボードを開けるようになっています。
「Access」→「Tunnels」と進み、「Create a tunnel」をクリックします。
Tunnelの名前を設定する画面が表示されるので、適当にmisskey
などと設定して保存します。
「Choose your environment」から環境を選択します。今回はサーバーOSとしてUbuntuを使っているので、Debian 64-bitを選択します。
すると、以下のようなコマンドが2つ表示されます。
表示されたコマンドのうち、 “If you don’t have cloudflared installed” のほうをコピーして、サーバーのターミナルで実行します。
正しく接続できたら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
詳しくは以下を参照してください。
おわりに
実際にこの手順で立てて運用しているサーバーがこちらです。
基本自分1人で使っていて、たまに2,3人オンラインになる程度ですが、特に不便なく動いています。CPUやメモリの使用率もこんな感じで、問題ないです。
文章にすると小難しいような感じがしますが、実際にやってみると非常に簡単です。
パソコンが余っていて使い道に悩んでいる人や、自分用のサーバーを立てて動かしたい人は、ぜひやってみてください。