こんにちは!Twitterの開発者離れで徐々にMisskeyに引っ越しているおきんです。 今回Misskey.ioにアカウントを作成しましたが、Fediverseに参加する観点でも好き勝手出来る自分の城を持つという意味でも自宅にもインスタンスが欲しくなったので、みおきー(https://mi.okin-jp.net)を立てたときの手順を紹介します。
キーワード: Cloudflare Tunnel, cloudflared, Cloudflare Warp, Cloudflare Zero Trust, Cloudflare, Docker, Misskey, Fediverse, お一人様インスタンス, お一人様サーバー
Zero Trust インターネット向きおよびインターネットからの通信を全てCloudflare Zero Trustを通じて行うことで、VPSなどの外部設備を使わずにMisskeyインスタンスを建てます。なおこの方法で立てると何故か瞬断が頻発するため本番運用には非推奨です。
以下はMisskeyからみた具体的なTunnelとWarpの使い分けイメージです。
つまり完成した構成 では、インターネットからみて完全にCloudflareのIPから通信を行うサーバーになることができます。
sudo apt update sudo apt upgrade -y
# とりあえず入れておくと便利なパッケージ sudo apt install software-properties-common build-essential screen nano # Proxyする用のnginx sudo apt install nginx # letencryptで証明書をとりたいときのためのパッケージ sudo apt install certbot python3-certbot-dns-cloudflare # NASにデータを置きたいときなど sudo apt install cifs-utils
sudo snap remove docker
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 動作確認 sudo docker version sudo docker compose version
今回実施する設定は以下の通りです。
Misskeyインスタンスを動かすサーバーがインターネットと通信する経路をCloudflare経由にします
# GPG keyを追加する curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg # レポジトリを追加する echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list # リポジトリ情報を更新 sudo apt update
sudo mkdir -p /var/lib/cloudflare-warp/
<dict> <key>organization</key> <string>ここにTeam domainを入れる</string> <key>auth_client_id</key> <string>ここにclient IDを入れる</string> <key>auth_client_secret</key> <string>ここにclient secretを入れる</string> </dict>
sudo apt install cloudflare-warp
warp-cli connect
curl https://ipinfo.io/
Tunnelを設定する
Cloudflare Tunnelが不通になったときにcloudflaredを再起動するスクリプトを設置し、5秒に1度程度実行するように設定します。
cloudflared起因でサイトがダウンしたときに活を入れるのスクリプトを良い感じの場所に設置してcrontabやsystemd-timerで定期実行します。このスクリプトはsystemdを操作するのでrootユーザーで再起動。
crontabに設定する場合の例です。
* * * * * for i in `seq 0 5 59`;do (sleep ${i}; /root/reconnect-cloudflared.sh) & done;
https://misskey-hub.net/docs/install.html を参考にインストールします。
いくつかの標準的な設定について紹介します。
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&sudo apt-get install -y nodejs sudo corepack enable npx web-push generate-vapid-keys
参考: https://yama2211.jp/misskey-wasabi/
https://mi.okin-jp.net/@okin_p(Misskey)
https://fi.okin-jp.net/@okin_p(Firefish)
https://si.okin-jp.net/@okin_p(Mastodon)
https://fedifile.net/@okin_p/profile/
https://twpf.jp/okin_p
http://profile.hatena.ne.jp/okin_p/
名前:おきん
やってること:面倒なことをPHPにやらせる、IPv6でなにかする、車で移動する
主なガジェット:Google Pixel 4a (5G) ,iPhone XS(ジャンク), iPad mini5, その他
種別:猫 over IPv6 run on PHP
パソコンやガジェットについて書いていく…予定。
This post was last modified on 2023年12月9日 11:23 PM
This website uses cookies.