見出し画像

Misskey のお一人様インスタンスを建てた際のハマりポイント

Misskey のお一人様インスタンス快適そうでいいなと思い、作ってみました。

基本的にはドキュメントに沿って進めるだけなのですが、構築する際にいくつかハマった点があったので、まとめておきます。

構成

  • Ubuntu 20.04

  • Docker compose

  • Nginx

  • Cloudflare (DNS, CDN, オブジェクトストレージ)

  • Mailgun

Ubuntu の設定

ufw を適切に設定しているのに外からの 80/443 ポートへのアクセスが通らないと思ったら、iptables の設定が必要でした。

Nginx の設定

リバースプロキシ

基本はドキュメントに書いてある通りなのですが、これで設定したらなぜかリダイレクトが繰り返されましたというエラーに遭遇したので、以下の部分だけ修正。

server {
    listen 80;
    listen [::]:80;

         # 中略

    # if 文を追加
    location / {
        if ($http_x_forwarded_proto = "http") {
            return 301 https://$server_name$request_uri;
        }
    }
}

SSL 証明書

オレオレ証明書のかわりに Cloudflare の SSL/TLS > オリジンサーバーで発行したオリジン証明書を利用しました。

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # 中略

    # Cloudflare で発行した証明書と秘密鍵を以下のパスに保存して利用
    ssl_certificate     /etc/ssl/certs/certificate.pem;
    ssl_certificate_key /etc/ssl/private/private_key.pem;

}

Cloudflare の設定

CDN

API へのアクセスはキャッシュしないように設定します。

Cache Rules の設定

SSL/TLS

オリジン証明書を利用しているので、フル(厳密)に設定します。

SSL/TLS モードの設定

Misskey の設定

オブジェクトストレージ

Cloudflare R2 を使う場合、Region は us-east-1 に設定する必要がありました。

その他

サーバーのリソース消費量

とりあえず動かし始めたばかりですが、動かす前と比べたときの追加のリソース消費はざっとこんな感じです。他のサーバーと連合しだすともっと増えるかも。

  • CPU 数% 

  • メモリ 600MB

  • ディスク 10GB

以上、ざっと思いついた点を書き留めました。皆様の快適な Misskey ライフの参考になればと思います。


この記事が気に入ったらサポートをしてみませんか?