Misskeyサーバー設立備忘録
1. これどういう記事
Misskeyと藍ちゃんのサーバーを建てたので備忘録がてら。できるだけ楽に建てたい人向けの記事。ラズパイやローカルで動かしたい人は藍ちゃんの項目まで飛ばしていい。Calckeyを使う人は他の人の記事を探したほうがいい。
2. やったこと
ドメイン生やす
サーバー選定(超重要)
bashスクリプトでMisskeyいれる
藍ちゃんを動かす
3. 今後やること
Meilisearchを入れる
電気通信事業者の届出
4. ドメインを生やす
よそのVPSはどうか知りませんがVultrの場合Cloudflareで買うとめっちゃ楽です。 よそから移管する場合は、購入したドメインが60日以上経過していることを確認しておきましょう。
5. サーバー選定
必要スペック:RAM 2GB SSD 50GB
推奨スペック:RAM 4GB以上 SSD 80GB以上
自前でサーバーを用意できなかったのでVPSを借りることにした。
使ったのはVultr。
おすすめのVPS
1. Vultr
海外のVPS。バックアップやスナップショット代が安い。クレカ/Paypal/Alipay/仮想通貨/Wire Transferが支払いで利用可。
下のリンクから登録すると100ドル分のクレジットがもらえるのでおすすめ。
https://www.vultr.com/?ref=9498144
2. Xserver
国内VPS。アプリイメージにMisskeyがあるので比較的簡単に建てられる。
クレカ/銀行振込(三井住友)/ペイジー(Pay-easy)/Paidy/コンビニ払いで利用可。
あんまりおすすめできないVPS
さくらVPS
なんか知らんがVultrに比べるとバグが多い。bashでMisskeyを入れる際には避けたほうがいい。
6. Misskeyのインストール
今回はbashスクリプトでインストールした。
基本はこれに従うこと(https://misskey-hub.net/docs/install/bash.html)。
bashスクリプト実行前にポート80/443/3000を開放しておかないと詰むので注意。
実行時いくつか質問されると思うが、基本はY + Enter/Returnでいい。選択するところはNginxとiptablesを選んでおけばいい。URLは自分で買ったドメインを入れよう。
7. インストール完了後のセットアップ
メールサーバー
SMTPを使うのでGmailでも行けなくはない。私はMailgunの無料枠を使った。
Botプロテクション
Cloudflare Turnstileがめんどくさくないのでおすすめ。
オブジェクトストレージ
Cloudflare R2を使用した。Vultrのオブジェクトストレージはデフォルトが非公開である都合上、設定の手間がめんどくさいのでR2でいい。
ノート検索
Meilisearchを入れないと利用できないが、とにかくI/Oが多いようなので注意。
カスタム絵文字
右上にある+を押すことで自分で追加することができるほか、リレーを組んでいる他のサーバーからインポートすることもできる。インポートする際はライセンス等に注意。
ロール
極端な話、管理者やモデレーターと一般ユーザーが区別できればいい。
アサインロールは権限を持つ人(=管理者やモデレーター)が手動で追加する。
コンディショナルロールは条件に当てはまるユーザーに付与される。
時間経過/以内でのコンディショナルロールの場合、秒数なので注意。
※参考
1日 = 86400秒
1週間 = 604800秒
1ヶ月(30日) = 2592000秒
1年(365日) = 31536000秒
8. 藍ちゃんを動かそう
藍ちゃんとは?
用意するもの
サーバー
Node.js 18.16.1
npm 9.5以上
MeCab
git
藍ちゃんのアカウントとAPIトークン
フォント
藍ちゃんのアカウントを作ろう
コントロールパネル>ユーザー>ユーザーを追加から藍ちゃんのアカウントを作成。その後藍ちゃんのアカウントに切り替えて設定>その他の設定>APIからアクセストークンを取得。トークンは一度しか表示されないので注意。
Node.jsのバージョンが指定なのはなぜ?
Misskeyの次期バージョン(v13.14)以降ではNode.js v20以降が求められるが、藍ちゃんはNode.js v18.16.1(NODE_)じゃないと動かないため
MeCabって何?
難しいことがいろいろ書いてあるが、要はこれと辞書があると藍ちゃんのやれることが増えるので入れる。作者とはGoogle日本語入力の開発に携わった工藤拓さんのことである。
Node.jsとnpmのインストール
概ねこの記事の通りに入れていく。yarnは使わないので必要ない。
MeCabのインストール
この記事の通りに進める。/etc/mecabrcを編集する際に追加する /var/lib/mecab/dic/mecab-ipadic-neologdというパスは後で使うのでどこかにコピペして保存しておこう。
フォントのインストール
wget https://sda1.net/cdn/fonts/NotoSansCJKjp-Regular.ttf
mv NotoSansCJKjp-Regular.ttf font.ttf
多分どこから入れてもあんまり変わらない。
藍ちゃんのインストール
以下の通りに入力する。慣れてない人はvimよりnanoのほうが便利かも。
git clone https://github.com/syuilo/ai
cd ai
nano config.json
ここの通りにconfig.jsonを作る。辞書ディレクトリのパスはいじってなければ、次の通りに入力する。
/var/lib/mecab/dic/mecab-ipadic-neologd
その後、次の通りに入力する。
npm install
npm run build
npm start
ビルドに失敗する際は、次のようにする。
npm install --save @types/babel__traverse@7.18.3
npm run build
npm start
後は自分のMisskeyサーバーに戻って@(藍ちゃんのアカウント) pingと打ってPONG!と返信があれば成功。
藍ちゃんじゃなくてNullcatChanを入れる際の注意
npmじゃなくてpnpmをインストールすることといくつかカスタム絵文字を用意しておく必要がある。後は大体一緒。
共通の注意点
フォントが同梱されていないので必ずフォントを入れる。
ダイレクトで「フォローして」というと必ず寝るので言わないように手動で投稿すること。
9. お疲れ様
藍ちゃんを愛でてあげよう。