萌えエネルギーの研究日誌(研究日誌ではない)

萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え萌え

無知無双 ~えいちてーえむえるも触ったことのない弊、SNSで生き残る為に歩むmisskeyの個人鯖建設への道~

こんにちは萌えエネルギー研究所研究員の仝㳄兀の让丈なろ攴酉己者て゛あらねゐ世畀のきほ゛ラㄘャんです

突然ですがmisskeyを使ったfediverse個人鯖(おひとりさま専用サーバー)を作りました。

hope-pf27.moe


かわいいでしょ~.moeドメインだよ~~~~

ではどうしてこうなったのかを解説します。


2023年08月16日
XPro(旧TweetDeck)が認証のない(非Blue)アカウントで使用不可能に – OREFOLDER

この後弊はTweetDeckをリロード絶対にしない設定にしたうえで快適に使っていましたが....


ぎゃあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ



もう終わりだよこのSNS
あやかくないよこのSNS

という訳でSNS乗り換える決意をしたのでした。

misskeyに至るまでの経緯

fediverseのプラットフォーム編
  • 例のAPI制限事件以降自鯖運用やらmisskey.ioやら色々調べてはいましたけど、「まだまだ大丈夫だろ」と騙し騙し使ってたら死んだ
  • Pleromaとmastodonとmisskeyで悩んでいた
  • Pleromaをメモリ消費量の点から1番魅力的に感じていたけど日本語であれこれ調べられる環境に不安があった
  • 丼はメモリ消費量が重いらしい
  • フォロワーさんにmisskey自鯖運用者がいた分散型SNS(Misskey)のサーバーを建てた | p-hone.info
  • ♰愛国ポイント加算♰

=misskeyに決定!

VPSサーバー選び編

=Xsever VPSに決定!

こうしてHTMLとかぷろぐらみんぐとかまったくやったことのないインタネッツ素人の弊によるXserver VPSでのmisskey自鯖構築が始まった...


やったこと

2023年8月20日

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
公式を斜め読みしたらインタネッツはじめたばかりのシャミ子状態になった

【Xserver VPS】Misskeyのインスタンスの立て方【初心者必見】 - ENGI WORKS
あっあっわかりやすい画像までついてて何すればいいのかがわかる!!!!!!
という訳でこれを読んでそっくり同じことをした

ど素人がMisskeyのお一人様サーバーを建てました(Misskey v13) | Seritude
misskeyにアップロードした画像等のメディアファイルは容量でかいほうがいいかと思ったのでオブジェクトストレージの設定をしました

Misskeyインスタンスで最初に設定するべきインスタンス設定とその他設定の説明 | aqz/tamaina
よくわかってなかったけどこれもやった

まとめ

  • Xserver VPSを契約する
    弊は2GBプラン(3コアCPU、メモリ2GB、NVMe SSD 50GB)にした、今のところ快適です
  • 同じくXserverから.moeドメインを買う
  • DNSの設定をする
  • TLS証明書を取得
    弊はLet's Encryptを使ったけど、今思うとCloudflare使うしCloudflareのほうでCDNの設定すると同時にTLS証明書もCloudflareで取得したほうがいいかも、ここらへん (さくらVPS + Cloudflare で misskey のインスタンスを立てる)読むとわかる
  • Cloudlfare R2をmisskeyのメディアファイルのオブジェクトストレージとして設定する
  • 何をとち狂ったかubuntuのアプデをする

    結果



@moe@hope-pf27.moe 👈moeに囲まれててかわいいね

1日目 終了

その後1週間後くらいまでにした設定


ここらへん
misskeyのデータベースバックアップ

Xserverにはイメージバックアップ機能が50GBまで標準でくっついてくるけど、それでもDBバックアップはやっというた方がいいということで設定
メディアファイルのオブジェクトストレージにCloudflareのR2使ったし同じところでやった(メディアファイルのバケットとは別に、完全に新しいバックアップ用のバケットを作り、そのバケット内ファイルの14日後自動削除ルールも設定しておく)

  • cloudflare wranglerを導入
    • 好きなユーザーでログイン(正直su使ってrootでも良いかなと思った)
npm create cloudflare@latest

In which directory do you want to create your application?は、

/home/現在のユーザ名/warangler(ここの名前は好きなようにでいい)/

What type of application do you want to create?は、type Scheduled Workerで(キーボードの矢印↑↓で選択可)

Do you want to use TypeScript?はnoで

~詳しいことはここの黒い画面のほうに書いてあるしそれに従えばおk
もしログイン失敗みたいのが出たらここのブラウザが云々を参考にするとよい。ufwでポート番号開けるだけじゃなくてVPSの管理画面でもポート開けておくことを忘れずに

こっから先が大変だった
結論:シェルスクリプトとcronって別物なんだーーーーー(無知の知

どうしたか:
/home/普段使いのユーザーネーム/にroot権限(comod 777)で新しい.shファイルを作成した
→/home/YOURUSERNAME/misskey-db-backup.sh
.shのなかみ

#!/bin/bash

echo "Backup start."

sudo -u postgres pg_dumpall | gzip -c > /tmp/db.gz

echo "Uploading..."

cd /home/あなたのユーザー名/wrangler/ (上記の In which directory do you want to create your application?で設定したディレクトリ)

npx wrangler r2 object put "R2で作成したバケット名(URLじゃないよ!)/db_$(date +%Y%m%d_%H-%M-%S).gz" --file=/tmp/db.gz

cd /home/あなたのユーザ名/

rm /tmp/db.gz

echo "Remove tmp complete"

echo "Backup complete."

echoの行は有ってもなくてもいいです 意味ないので

シェルスクリプトが動くことを確認後、root権限でcronファイルを作成
場所 /etc/cron.d/適当な名前の(misskey-db-backupとか)ファイル(cronなので拡張子不要) cronの中身

40 3 * * * root sh /home/kibou/mi-db-backup.sh

corn 書き方とかで検索してね 上記のは「40分3時 日にち未指定 月未指定 曜日無指定」という意味です 4時前にやっといたほうがいい 文字の最後に必ず改行するの忘れないでね(改行しないと作動しない)
後日動いてるか確認

misskeyのアップデート

弊はバックアップが全部できてることを確認後にやりました 多分それが安全かと......

  • Githubアカウント作成
  • (もしXserverの初期設定のままだとmisskeyユーザーでログイン不可能なのでmisskeyユーザのパスワードをroot権限で変更)
  • これを参考にやればおk
    Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
  • 弊の場合上手くいかず、gitのコマンド一覧表示してあれこれやってたら流れでできてしまったけど、正直危ないので分からなければ詳しい人に聞いたり、Xserverのサポートに頼った方がいいと思う

サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
↑これめっちゃ読んだ

2023-09-25追記

sudo systemctl stop misskey

su - misskey

cd misskey

git pull;
NODE_ENV=production pnpm install --frozen-lockfile
pnpm run clean;
NODE_ENV=production pnpm run build;
pnpm run migrate;

exit


その他
  • Misskeyでjemallocを使う(Debian系統)
    メモリ消費がどんどん増えるのをどうにかしたくて今日2023年8月30日これを導入した 、2023年9月1日現在割と効果あるっぽい
  • サーバを再起動する度にnginxが自動で再起動しなかったのでこれみて
systemctl enable nginx

を設定して自動起動にした





感想

サーバーむつかしいよおおおおおお

  • でも正直楽しい
  • サーバーの知識皆無でも調べまくれば何とかなってよかったー
  • 全部自分が支配しているという感覚が気持ち良すぎる、持つべきものは自鯖
  • misskey割と高機能だしこれにしてよかった、ハッシュタグ保持もデッキもリストもブックマークフォルダ分けもあるし
  • アニメ実況勢向けの公開鯖作りたすぎ(技術力なさすぎるので無理)

多分今後Twitterに戻ることはないかもしれません。完全にやめるというわけではないしTLもちょくちょく見てるけど、なんというか「家」という感覚がtuittarじゃなくてmisskeyの自鯖になってしまった。7年半近くやってきたTwitterから離れてしまう日が来るなんて....って思うけど、正直、ね、もう、tweetdeckを廃止した時点で堪えて何とか付き合っていたものがプツンと切れたんだと思う。でも楽しかったよTwitterでの日々も......

というわけでフォロワー!

@moe@hope-pf27.moe
hope-pf27.moe

フォローしてね♡



おまけ

youtu.be


弊が1番好きな今期アニメソングです

ほんとはアニメキャプチャマシマシにしたかったけどアニメキャプチャせず視聴してるからキャプチャがなくてごめん