ななめも

メモ書き的なブログ的なメモ的なブログ

サルでもできるMastodonインスタンス閉鎖

この記事は以下のような生物を対象にしています。

  1. Mastodonが建てられる程度の知識がある人間、ゴリラ、サル
  2. できる限り静かにMastodonインスタンスを閉鎖したいサーバー管理者

サーバーの電源落とすだけじゃだめなの?

接続されているサーバーのSidekiqに無限に再試行が積まれるのでやめましょう。

じゃあ何をすればいいの?

閉鎖を周知する

公開インスタンスの場合、特に重要です。
自分のサーバーのユーザーや接続されているインスタンスの管理者に閉鎖をきちんと伝えましょう。(お一人様で無言に消えたいなら次の項目だけやっとけばいい気もする)
十分に閉鎖までに余裕を持って告知しましょう。

下の画像は悪い例です。ちなみにこれを投稿したのは末代再起動の30分ぐらい前で末代再起動とともにインスタンスが消滅しました。本当に悪い例です。 f:id:Non0920:20181205172109p:plain

410を返す

v2.6.1からはやらなくていいと書いている記事もありますが、やった方がいいと私は思います。(お一人様で無言で消えたい場合とかはとりあえずこれだけやっとけば文句は言われないと思う)
接続されているインスタンスがすべてv2.6.1以上とは限らないので。

Mastodon用のNginxを

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  root /home/mastodon/live/public;
  # Useful for Let's Encrypt
  location /.well-known/acme-challenge/ { allow all; }
  location / { return 301 https://$host$request_uri; }
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name example.com;

  ssl_protocols TLSv1.2;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

  return 410;
}

に書き換えてNginxを再起動するとできます。(example.comを自分のサーバーのドメインに置き換えて)
大体この状態で1~2ヶ月ほど放置すればいいと思います。(本当はもうちょっと放置した方がいいけど、資金面で負担になるから最低1ヶ月ぐらいを目安にしていいと思う)

MastodonのSystemd Serviceは全部停止して大丈夫です。

サーバーの処理

データは自分が規約に書いた期間、安全に保管してから確実に削除しましょう。

最後に

これを見た人に言う言葉ではないと思うんだけど楽しいSNSライフを!