【完全版】Misskey インスタンスの立て方詳細!~VPSサーバーとCloudflareを用いて~

技術部@Deep Sky Gate
言語(Language)

こんばんは。
はばふぐって名乗ってるっぽい人です。
XMPP: habafugu@xmpp.deep-sky-gate.net
Mastodon: @Habafugu@vivaldi.net
Twitter: @habafugu

ネットの雰囲気で生きていたい自分にとってTwitterはあまりにも荒廃しており、毎日のように起こる対立・紛争・炎上には疲れてしまいました。
そこで、Misskeyをやってみることにしました。

でも、misskey.ioはR18の巣窟になってるので、非R18勢はとてもじゃないけど太刀打ちできません。それに、あの異常な速度のタイムラインと巨大で目を引くリアクションの数々。
高校生の時、はじめて秋葉原のメロンブックスに入ったときの衝撃をも上回る刺激の強さでした。

そうして、R18と派手なスタンプはびこるmisskey.ioに恐れをなしたぼくは、自分でインスタンスを建て、自分(たち)の楽園を築くことにしました。

0. Misskey?みすちー?

Twitterとメールの中間のようなSNSです。

Twitterはイーロン・マスクの独裁によって、すべての生殺与奪の権が握られています。しかしメールはどこの会社が運営しているわけでもないので、たとえばYahooメールが使えなくなっても、他のメールは使え続けます。

Misskeyも同じように、運営サーバーが無数にあり、そのサーバー同士は連携できるのです。

誰でも運営サーバーを管理する(ホストする)ことができるので、Misskeyの一つの運営組織が消えても、ずっと使え続けるので安心です。さらに、好きなサーバーを選ぶことで自分の運命を握る相手を選べますし、何より自分でも管理者になれるので、もっと安心ですね。

自分でMisskeyサーバー運営を始める方法について今回はご紹介します。イーロン・マスクなりきりセット、使ってみましょう。

1. 前準備:必要な犠牲

・お金(1か月数百円~)。

・パソコンと、パソコンを動かす知識。

2. 住所(ドメイン)・部屋(サーバー)を用意《読み飛ばしてOK》

※追記:住所はIPアドレスに該当するので、ドメインは表札ですねごめんなさい。

HPを作ったことがある人なら何となくわかると思いますが、ネット上に何かを公開するためには、住所(ドメイン)と、部屋(サーバー)が必要です。住所も部屋もないのに、人が訪ねてくるわけないっすよね。

Misskeyをネットに公開して管理するわけですから、例外なく、ドメインとサーバーが必要になりますね。

もちろん、よほどでない限り、お金がかかります。
住所(ドメイン)があるということは、住民税(=ドメイン代)がかかります。これは必須です。
そして、持ち家(=自宅サーバー)がある逸般の誤家庭でない限り、借家(=借りたサーバー)に住みますから、家賃(=サーバー借用費)がかかります。
※逸般の誤家庭がこんな記事を読むはずないので、僕たちの場合に合わせてサーバーを借りる場合で記事を書きます。

そして、借家(=借りられるサーバー)にも種類があります。
マンション(これを普通は「レンタルサーバー」と言います)か、一軒家(「VPS」と言います)かです。
マンションは安いですが、みんなで一緒に住んでいますから、廊下の消灯時刻などマンション全体の決まりを一人で勝手に決めることはできません。訪問を受けてお茶を出せるくらいです。(=VPSより安い。サーバーの設定をいじれない。ホームページを作るときに使う)
一軒家はちょっとお値段がしますが、大家の許す限り、ある程度のカスタマイズが可能です。(=レンタルサーバーより高いけど、サーバーのOSを決められたりする。高度な設定が必要なものに使う。)

今回Misskeyは高度な設定が必要なので、一軒家(=VPS)を借りましょう。

ぼくはX server VPSを契約して、そこ(X server domain)でdeep-sky-gate.netドメインを取りました。ぶっちゃけConoha VPSの方が良かったかもしれん(今更)。
まあ、X serverの流れで見ていきましょう。

↓アフィリエイトリンクではありませんのでご安心を。

Xserver VPS | 圧倒的な性能・コスパのVPS
このVPS、圧倒的性能・圧倒的コスパ。シェアNo.1レンタルサーバーのエックスサーバーが満を持して送るVPSサービスです。

3. 部屋間取り(OS)決定

VPSの申し込みの際に、最初にインストールするOSというのを聞かれると思います。まあ、部屋の間取りみたいなもんです。2階建てに住むのか、3LDKなのか、とか。

間取り(=OS)は家具(=ライブラリ等)が入れやすいようなやつだったらなんでもいいので、とりま、人気の間取りのUbuntuを使いましょう。似た間取りのDebianは安全な暮らしができることに定評がありますので、そちらを採用していただいてもいいかもです。
ただUbuntuだと家具の配置(=インストール)方法に関する情報がたくさんありますので、Ubuntuにしておけば外れはないでしょう。

4. コマンドが打ちやすいように設定

X server VPSの管理画面は以下のようになります。

※右上、サーバーの電源が入ってなかったら電源つけましょ。

※たぶん大丈夫だと思うんですけど、IPアドレスは一応消してます。

いよいよ、このVPSに家具(=ライブラリ等)を入れて、Misskeyを入れる準備をします。
そのライブラリを入れるのにコマンド文をいっぱい打ち込みます。

で、管理パネルの右上の小さな「コンソール」というところを開けば、コマンドを撃てそうな画面が出てきます。でも、些か制限があったりして使いにくいので、Tera Termというソフトを使って、いじりやすくしましょう。※Tera Termのバージョンは適当で。

窓の杜
「Tera Term」定番のターミナルエミュレーター

これはTera Term v5を使っています。
最初にttermpro,exeというのをクリックすると出てくる画面です。Hostには自分のVPSパネルにある「IPアドレス」を入れてOK。

※VPS管理画面の左端メニュー「SSH Key」から、秘密鍵/公開鍵のセットが入手できます。
User nameは「root」、PassphraseはX server VPSのときにたぶん登録したパスワード。そして、「Use RSA/DSA…」となっているところに、ダウンロードした秘密鍵のファイルを入れます。

ちなみに、毎回こうしてログインするのがめんどいって場合は、Tera Termの同フォルダにはいってる「ttpmenu.exe」からいろいろやってください。

出てきた画面について、「Name」は適当に入れます。Launch Patternはautologin。Host NameにはVPSのIPアドレス、User Nameはroot、Passwordはrootパスワードです。あと、use SSHで、秘密鍵のファイルを入れます。左矢印ボタンをクリックして登録。こうやって登録しておくと、ttpmenu.exeを次回開いたときに一気にSSHで接続できます。

これで出てきた黒い画面で、コマンドを打っていきましょう。
こいつの「Always On Top」(常に最前面表示)だいすき。Controlタブにあるよ!

ログインできない場合は、VPSパネルの「パケットフィルター設定」をチェック!

3. 家具(ライブラリ)搬入

お客様(=ユーザー)が訪ねてきても恥ずかしくない家(=サーバー)にするために、家具(=ライブラリ)を決定していきましょう。

ぶっちゃけ、あとは

https://misskey-hub.net/docs/install/ubuntu-manual.html

上のリンクに沿ってやっていけば簡単!

だといいんだけど!

そうはいかないんだよなぁ

…各セクションに沿って説明します。

ここら辺は、
https://blog.noellabo.jp/entry/2019/08/14/8i3RHuZ1wJNDinIn

https://blog.midnightblue.jp/entry/2023/04/08/001059#Cloudflare-でドメイン設定

以上のリンクが非常に役に立ったので置いておきます。

nano の使い方

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

このセクションはたぶん飛ばしてOKです。コマンドには関係ないから…

エラーログのとりかた

これからMisskeyインスタンスを建てて衣玖わけですが、絶対エラーが出ますので、サーバー側のログを見ることになると思います。

そういうときに参考になるかもしれないエラーログの取り方をば。
※すべてrootディレクト直下で打つ用にパスを書いています

① less

less /var/log/syslog

less(テキストを1行ずつ表示)で見るやりかた。詳しくは調べてください。
閲覧中に「G」キーを打てば最終行に行きます。「F」キーを押せば、コマンドを打ったあとの新しいログが自動的に追記されていきます。
検索ができるのもいいポイント。

②tail

tail -f -n 30 /var/log/syslog

tailコマンドで見るやりかた。-fオプションは新しいログの自動追記。-n (行数)で、指定された行数だけ表示するようになるので、表示スペースを節約したいときに便利。
ぶっちゃけこれでいい。

※両方とも、ログ表示から抜けるときはCtrl+Z

ユーザーの作成

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

これが初めてのコマンドです。

sudo adduser --disabled-password --disabled-login misskey

ぼくみたいにLinuxはじめましての人向けに軽く説明します。

・sudoはsuperuser doの略で、「管理者として実行」みたいな感じですかね
・adduserはユーザー作成。「misskey」の部分がユーザーの名前です。WindowsはGUIなので、明確に今ログインしているユーザーがわかりますが、LinuxのこれはCUIなので、どのユーザーで実施しているのかということに気をつけましょう。
…disabled-passwordとdisabled-loginはつけてしまっていいのかわからない

このコマンドが撃たれると、以下のような画面が出てくるかもです。

Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:

ここは適当にエンター連打でいいかも。知らない。

基本的なソフトウェアのインストールと設定

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

Node.jsのインストールで、怖いものが見られます。

curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -


怖くない?

たぶんこの方法でもOKなんでしょうけど、あまり知識がないので、ぼくはNVM(Node.jsのバージョン管理ツール)に逃げました。
https://qiita.com/pyon_kiti_jp/items/da5080e9c7454e935aeb

なお常識なのかもですが、ちゃんと「misskey」というMisskeyを実行する際のユーザーにログインした状態で、nvmをインストールしてくださいね。ぼくはさっきの真っ赤な警告で混乱して一旦rootに逃げてて、そこでnvmをインストールして、またmisskeyに戻って何食わぬ顔で進めたらPermission Deniedエラーになりました。当たり前なんだよなぁ。

あ、インストールの際に、パスワードが必要とかって出てきたら、misskeyのユーザーにパスワードをつけてしまえばいいのかな?
https://eng-entrance.com/linux-command-passwd

なお、NVMの使い方はいろいろなサイトを参照してください。

最後に、「node -v」でバージョンを確認し、ソフトウェア要件を満たすバージョンであることを確かめましょう。

corepack enable忘れない。

Node,jsの後、PostgreSQL・Redis・nginx・build-essentialは難なくインストールできると思います。これらはrootユーザーじゃないとできませんな。

※PostgreSQLの最新バージョンは16ですけど、15じゃないとなんかエラーになります。

※PostgreSQLのデータベース名・ユーザー名・パスワードはのちに使うので控えておきましょう。

※パスワードは英語小文字だけにしとくといいのかな(大文字とか数字混ぜたら何故かエラー)

※Nginxは

sudo apt install ubuntu-keyring

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx

ここいるのかな

追加の設定とインストール

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

ファイアウォールはたぶんだいじょうぶ。一番最後のビルドのときに [UFW BLOCK] エラーが起きた(ぼくは起きた)ときは、ここが悪いので、ポートの設定を見直しましょう。
まあ、このドキュメントに書いてる限りじゃなくても、ある程度自分でカスタマイズができるところだと思います。

Cloudflareが難関です。べつに章立てして以下で詳しく説明します。

CloudFlare

最大の関門。

CloudFlareで設定をミスると、サーバー側のログをいくらみてもログが検出されず、エラーが特定できない恐れもあります。慎重にやりましょう。

…とはいっても、全部終わってからやる最後のオブジェクトストレージがラスボスなんですがね。

Add a site
How to Add a Website to Cloudflare 2022 - Beginner Tutorial
A detailed walkthrough on how to add a website to the Cloudflare account. This tutorial is targeted for beginners in Clo...
エックスサーバーでCloud Flareを使う方法とおすすめの設定for ワードプレス
無料CDNクラウドフレアをエックスサーバーと紐付け、ワードプレスブログのサイト読み込み速度高速化のため設定。備忘録も兼ねてデフォルト設定から変更した箇所の解説や推奨設定も紹介します。

↑このあたりが参考になるかな?

① ドメインを入力

② フリープランを選択(※一番下です)

③ DNSレコードを設定

…なんだそれ。DNSレコードって、って思ったと思いますし、ぼくもネットワークの知識皆無なのでこの段階で思考がフリーズしました。詳しい仕組みはわからないですけど、設定方法は簡単です。

「Add record」をクリック。出てくるところに情報を打ち込む。(ごめんこれちょっと画像が違うかも)

・「Type」は「A」のまま。IP4の型ですね。
・「Name」はMisskeyを公開したいドメイン(またはサブドメイン)を入力するみたいです。
・そのほかは初期設定どおりにしておきます。

④ ネームサーバー設定
たぶんCloudFlareの次の画面で、自分のドメインのネームサーバーにCloudFlareのネームサーバーを設定してくださいみたいな要求がくると思います。

このような画面はX server Domainなど、自分のドメインを取ったところのネームサーバー設定を開けば出てきます。
X serverなら、上画像のように、「その他のサービスで利用する」のところに、表示されているCloudFlareのネームサーバー名を入れてください。

こーゆーふうに書いてるとめっちゃ簡単で、実際それなりにネットワークに詳しい方なら全然余裕だと思うんです。
でもぼくみたいな初心者だと、わからない言葉のオンパレードで、適当に余計なとこいじっちゃうもんですからおかしくなるわけですね。

Certbot (Let’s Encrypt) の設定
Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

ここはすっ飛ばしてもいいかなーなんて思ったんですけど、やっぱすっ飛ばしちゃだめだったみたいです。

まあ、手順通りにやっていって、何回か試行錯誤してれば成功しますので。

ちゃんと生成後の.pemファイルのパスは記録しておきましょう。

Misskeyインストール

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

ふつうにやればできるんですけどね。

ここで「misskey」ユーザーに入って、npm・Node.jsを動かします。ですから、前述のNode.jsインストールのときはmisskeyユーザーにしとかないとnpmの権限がなくて永遠にブロックされますからね。ぼくはこのミスで数時間消えました。

あとは、上のドキュメントに従ってymlの設定・nginxの設定を行います。この2つはそんなにエラーが出る感じじゃないです。

このあたりから「デーモン」(daemon)っていう中二語がいっぱい出てきますけど、プログラムを後ろ側で動かしてくれるやつみたいです。悪魔(demon)じゃないっぽい。

4. めざめよ!Misskey

Misskey起動!

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

このリンク通りにビルド・データベース初期化・Misskey起動を行えるはずです。できなかったらどうせCloudFlareが問題でしょう。それか、権限の問題か、UFW(ファイアウォール)の問題か。まあ、アクセスログみてちょ。

ビルドとかには少々時間かかりますけど、もみじ饅頭でも食べながら待ちましょう。

Misskeyのデーモンを召喚

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
【ノートでひろがるネットワーク】分散型SNS Misskeyの公式サイト。Misskeyのはじめかたやサーバー一覧など、Misskeyに関する情報が満載!

Misskeyのデーモンを召喚するという作業をすることで、Ctrl+Cでプロセスを終了しても、Misskeyが終了しないようになります。

①ルート権限で行う

exit

②ファイル作成

sudo nano /etc/systemd/system/misskey.service

↑これでファイル作る

この内容をそのドキュメントに書き込むんだけど…

ここでエラー起きがち。むしろエラー出ないやつ絶対いない(確信)

コード例①

[Unit]
Description=Misskey daemon

[Service]
Type=simple
User=misskey
ExecStart=/home/misskey/.nvm/versions/node/v21.1.0/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=misskey
Restart=no

[Install]
WantedBy=multi-user.target

コード例②

[Unit]
Description=Misskey daemon

[Service]
Type=simple
User=misskey
ExecStart=/home/misskey/.nvm/nvm-exec npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_VERSION=v20.10.0"
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=misskey
Restart=no

[Install]
WantedBy=multi-user.target

NVM使ってるなら、公式ドキュメントのコピペでは100%動かないです。
公式ドキュメントのコードから変える点は以下の通り。

(1)「ExecStart」のパスは、npmが存在するパスです。公式ドキュメント通りNode.jsをインストールしているなら「ExecStart=/usr/bin/npm start」でいいんですけど、NVMを使ってる人は、「ExecStart=/home/misskey/.nvm/versions/node(バージョン)/bin/npm start」とか「ExecStart=/home/misskey/.nvm/nvm-exec npm start」ですね(後者のコードだと「Environment=”NODE_VERSION=(バージョン)”」が必要になります)。バージョンとかディレクトリは適宜変えてください。
ぼくはここがおかしくて、ずっとデーモンが召喚できませんでした。

なお、コード例①のようにnpmを直接指定する場合、rootでなくmisskeyユーザーに入り、以下のようにしてパスが求められます。

which npm

というか、パスという「場所」を表示させるコマンドなのに、誰だよ「which」にしたやつ。一応「whereis」っていうのがあるらしいけどwhereはないんですかねぇ(データベース系の言語と混ざるから?? ←しらない)

(2)「WorkingDirectory」はちゃんとMisskeyがインストールされてるところを指定しましょう。

(3)「Restart」は初期設定では「always」です。でもなんかわからないですけど僕は「no」にしないとエラーがでました。

③デーモン召喚!

sudo systemctl daemon-reload
sudo systemctl enable misskey
sudo systemctl start misskey
sudo systemctl status misskey

これでactiveならOK。

さて、これで公式ドキュメントは終わっているのだけれども…

まだ終わらないよなぁ(当然)

5. オブジェクトストレージ

さて第5段階目。東方でも5ボスが一番強い(生存性バイアスかもしれない)。でもいちばんかわいい

いま適当に出力した低画質のAI絵。咲夜さんとよーむはもっとうまく出力されるはずなんだけど…

そして今から使うのはさっきも出てきたツンデレのCloudFlareちゃん。かわいいし優秀なんだけど、なかなか打ち解けてくれないのよね。

…このあたり、地獄過ぎて僕の記録メモが残ってないので、一部抜けてるかもしれません。ご了承を。

オブジェクトストレージは、サーバーではなく外部に写真などのメディアをアップロードしておくというものです。容量の少ないVPSなら必須かも。

misskeyのオブジェクトストレージにcloudflare r2を利用する - Qiita
R2を使うR2を使うメリットとしては、無料枠が存在する10GB まで無料,通信料金がある一定まで無料初期投資しなくて良いcloudflareに紐づけているドメインと連携がしやすい辺りが挙…

こちらの記事を見ながらだいたいやっていきました。

クレカ情報を渡す

まず、CloudFlareの「R2」というタブを開きます。

おやおや、なにやら怪しい雰囲気です。
ええ、クレカ情報を入れる必要があるのです。
決められたストレージ容量(10GB/月)を超えたら、自動的に金が消えていきます。恐ろしい恐ろしい

まあ、一人のサーバーだったらめったにそういうことはないらしいですけども。

入れる情報について、カード番号・有効期限・セキュリティコードはいつも通りです。
First Name と Last Nameも大丈夫でしょう。
Address Line 1には、番地までの住所を、Address Line 2には、建物番号ということになりますかね。
Cityは市町村、State/Provinceは都道府県、Zip/postal codeは郵便番号、Countryは国名です。
CompanyはPersonalでよかったはず。
VAT/GSTは無視。

英語の住所の書き方 -海外通販購入ガイド-
英語の住所の書き方を説明しています。

たぶんこれでカード番号が通ると思います。

ちな、英語めんどかったらUIを日本語にすればいいだけですからね。

バケットをつくる

R2のタブで、このような画面になってると思います。

そして、「Create Bucket」を押します。

「Bucket Name」は適当に決めて、LocationはAutomaticでいいんじゃないですかね。

そしたらあっけなくバケットが作成できます。

Public なんちゃら URLの取得

そしたらその後出てくる画面を開いて、「Setting」タブを選択。

こんなやつです。

そして下にスクロールすると、「Connect Domain」というのが見えます。

やった!これで自分のドメインと接続できるじゃん、って思うかもしれません。
ええ、これがすべての元凶。

これでドメインをコネクトしても、ぱっと見何も起こりません。でも、こいつのせいでっ…ぼくの2時間は…

ということで、ここはいじらないようにしましょう。

正しくはこっちですね。アクセスを許可しましょう。(画像は既にアクセス許可済み)

もしかしたら「Public Bucket URL」って書いてるところかもしれません。説明文に「Anyone on the Internet can use the <中略 > URL to view objects in this bucket」って書いてるところが目印。

そしてその下の灰色の「Public R2.dev Bucket URL」に表示されているURLを控えておきましょう(この画像では見えないようにトリミングしています)。
あと、このページ上部の「Bucket Details」コーナー内にある「S3 API」のURLも控えておきましょう。
この2つはあとで使います。

ついでに:オブジェクト保存期間設定

まあ、オブジェクトストレージが10GBあるといっても、怖いので、n日過ぎたら保存されてる画像を捨てていくようにしましょう(やってもやらなくてもどっちでもいいですが)。

いま開いてる「Settings」画面を下にスクロールしていくと「Object lifecycle rules」というのがあるので、「Add rule」から、何日後に消去するかを決めましょう。たぶんこれで大丈夫なはず。

API トークン取得

R2のトップに戻り、右側の「Manage R2 API Tokens」をクリック後、出てきたページで「Create API token」。

適当に設定してください。Permissionsを「Object Read&Write」にするくらいですね。TTLはぼくのではなぜかCustomになってますけど、ふつうに「Forever」でいいとおもいます。

設定終了後、Access Key IDとSecret Access Keyが表示されます。これも控えておきましょう。

各情報をMisskeyへ

Base URLに、「Public R2.dev Bucket URL」(もしくはPublic Bucket URL)のURL、BucketにR2で設定したバケット名、Endpointに「S3 API」のcloudflarestorage.comまでのURL(https://は自動で入力されてるので不要)、Access Key IDとSecret Keyにさきほどの情報を入れます。

詳しくはこちらの記事を見た方がいいかもです

misskeyのオブジェクトストレージにcloudflare r2を利用する - Qiita
R2を使うR2を使うメリットとしては、無料枠が存在する10GB まで無料,通信料金がある一定まで無料初期投資しなくて良いcloudflareに紐づけているドメインと連携がしやすい辺りが挙…

まあ、私はこれで動きましたので参考までに。

6. 各種設定

Misskeyインスタンスで最初に設定するべきインスタンス設定とその他設定の説明 | aqz/tamaina
Misskeyインスタンスを作成した際、最初に必ず行うべき設定について解説します。 Misskeyイ

基本、上記記事の通りにやっていくだけです。でも2年前なので、「Summaly Proxy URL」のURLがなんかエラー起こってたり(23/11/27現在)しますが…。

管理者のアカウント(プロフィール)とかは自分で設定してください。それは普通のインスタンスと同じなので。

ここでは、インスタンスの設定をみていきます。

Misskey開いて、「コントロールパネル」でいろいろいじっていきます。

「ダッシュボード」など「管理」ゾーンは見てるだけでふーんそーなんだでいいので、「設定」ゾーンで設定していきましょう。

全般

・サーバー名:つけましょう。

・サーバーの紹介:書きましょう。改行はエンターでも\nでもなくて<br>です。まさかのHTMLを書き込む形式。

・管理者の名前 / メールアドレス:一応書いておきましょう。

・運営者情報URL:なんかよくわからないのでぼくは自分のHPにしました。

・Service Worker:プッシュ通知を有効にしたいなら設定しましょう。

npx web-push generate-vapid-keys

このコマンドで出てきた公開鍵と秘密鍵を「Public Key」と「Private Key」に打ち込めばいいらしいです。

あとの設定は任意で。

ブランディング

・アイコン画像URL:なんとURL形式。FTPとかでサーバーに画像をアップロードしといて、その画像のリンクを貼らなければいけません。なぜアップロード形式じゃないんだろうか…。

ちな、FTP使いたいときは、
https://sabameijin.com/ubuntu-ftp-mysql-install/
上記リンクのようにvsftpdっていうのをサーバーにインストールした後、FFFTPなどのFTPソフトを使って接続します。以下はFFFTPの設定例。ホストの設定名は適当。ホスト名にはVPSサーバーのIPアドレスを入れる。ユーザー名とパスワードは、サーバー側で(adduserで)作ったユーザーとパスワードを入力。

・バナー画像のURL / 背景画像のURL:アイコン画像と同様。

あとは、テーマカラーや、デフォルトのテーマなどを設定すればかっこよくなると思います。

モデレーション

・おひとり様サーバーにしたいときは、この「誰でも新規登録できるようにする」をoffにしましょう。

・「サーバールール」から、サーバーのルールが設定できます。まあ少しは何か書いておきましょう。

メールサーバー

・インスタンスが大きくなってきたら検討する必要がある、程度の認識でいいですかね?

・ぼくは一応設定しましたが、何番ポートが開いてて使えるのかめっちゃエラー処理が大変でした(別で契約してるLolipopのレンタルサーバーのメール)
※ロリポップの公式ドキュメントがそもそも間違ってるという恐怖のパターン

オブジェクトストレージ

さっきやった

セキュリティ

・Botプロテクション:Turnstileというのを設定する必要があるらしいです。https://hide.ac/articles/Y504SIabp ←こちらの説明を見るか、調べるかなんなりしてくださいな。

その他は適当にしてください。

https://hide.ac/articles/Y504SIabp のドキュメントでは、Summaly Proxyを設定する必要があると書いてありますが、そのドキュメントに書いてるリンクがほんとに機能してるか怪しい(たぶん僕の知識不足でわかってないだけなんだけど)ので、一応やっておく程度でいいとおもいます。

リレー / サーバーブロック・サイレンス / プロキシアカウント / 外部サービス / その他

やりたかったらやればいいんじゃないですか(適当)。

Extra. お友達を呼ぼう

このままだとMisskey連合には入っておらず、宇宙でひとりぼっちのサーバーです。

「小国寡民」にしてもちょっとは国民がいるわけですから、数十万人と繋がる必要はないけれども、お友達と結ぶのくらいはやってもいいんじゃないんでしょうか。

お友達と繋がるやり方はいくつかあります。

①お友達をフォローする

たぶんこんな記事にたどり着いてるってことは、ネットのお友達の中に、MisskeyなどFediverseのアカウントを持っているお友達が一人くらいはいるはずですね(いなかったら、自分でどっかのインスタンスにアカウント作って、それをフォローすればいいのだ。)。Misskey、Mastodon、Fedibird、なんでも大丈夫です。そのアカウントを知っているのなら、そのアカウントをフォローしてみましょう。

たとえば、ぼくのアカウントは以下のような感じです。長いなぁ。

@habafugu@misskey.deep-sky-gate.net

追記:このアカウントは消えました。

画面左側のメニュー、もしくは「もっと」の中に「照会」というメニューがあるとおもいます。

出てくる画面に、そのアカウントを入れてあげてください。そのアカウントが出てきます。

そしたら、右上のボタンからフォローができますね。

こうやって交流があったら、なんか連合が繋がっていくみたいです。知らないけど。

フォローができない場合は、一応ログをみてやってください。ログに異常がなかったら、原因はCloudflare確定です。

②リレー

ぼくはまだ使ってませんが、さっき飛ばした「リレー」という設定をすれば、中小サーバー同士が同盟関係になれるそうです。詳しくはわからないので調べてみてください。

Epilogue

Misskeyのおひとり様サーバーで一番難しいのが認知されることなのかもなぁと思ったり。
まずはmisskey.ioに自分のアカウント作り、自分同士で相互フォローして連合を繋ぎ、そしてこちらのプラグイン(https://qiita.com/the_quick_fox/items/5a18b483ea4f085f27c0)を使って、自分の投稿をmisskey.ioに一瞬で流せるようにする…。というふうに僕はやってますが…。
詳しくはここ(https://misskey.deep-sky-gate.net/notes/9lur2jdkdrqu00fg)。

それでも一番反応がつくのが「おはよう」「おやすみ」なのは悲しいぜ…。

まあ、Misskeyもまだまだ発展段階です。自分の楽園をどう築くか、これからも頑張っていきたいと思います。

ではまた!

タイトルとURLをコピーしました