Pterodactylのバックアップをしっかりとろう

Pterodactyl Panelは使っていますか?
使ってない人はDockerでさくっとインストールしましょう

データがあ゙あ゙あ゙

とある日…
Rさんは自鯖の大掃除をしようとして新しいVPSにサーバー環境を移そうと考えました

Rさん 「じゃあメンテナンス始めるかー
データのバックアップは…パネルでしてるから大丈夫!
取り敢えず今のVPSを再起動して新しいVPSで作業するか」

数時間後…
Rさん 「よし!、やっと新VPSの準備ができた
じゃあサーバーのデータを移すか!

….え
ファイルが空っぽになってる….」

Rさん 「で、でも大丈夫
ちゃんとパネルでちゃんとバックアップしてるから問題なし!」

パネルちゃん 「バックアップも一緒に消えたよ」

Rさん 「は?????」

何がいけなかったのか

データは何かしらのちょっとした出来事で急に消えます
そのためバックアップは大切です
ですが…Rさんはバックアップをサーバーのファイルと同じディスクに保存していました
これでは本末転倒です

バックアップを外部に保存しよう

今回はcloudflareのR2ストレージにバックアップしてみます
R2は1GBあたり2円なので5つバックアップを保持するようにしても1ヵ月50円程度ですみます
と言ってもドキュメント通りにファイルに書き込むだけです
dockerで立てている人はpanel.envというファイルに書き込んでください

APP_BACKUP_DRIVER=s3
AWS_DEFAULT_REGION=auto
AWS_ACCESS_KEY_ID=1234567890asdfghjklqwertyuiopzxc
AWS_SECRET_ACCESS_KEY=1234567890asdfghjklqwertyuiopzxc1234567890asdfghjklqwertyuiopzxc
AWS_BACKUPS_BUCKET=ptero-backup-test
AWS_ENDPOINT=https://1234567890asdfghjklqwertyuiopzxc.r2.cloudflarestorage.com

AWS_DEFAULT_REGION=auto
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYはR2のダッシュボード画面右上にあるR2 APIトークンの管理からAPIトークンを作成するで作成されるアクセス キー IDシークレット アクセス キーを入れてください

また、AWS_ENDPOINTはR2のダッシュボードにS3APIと意味深なurlがありますが罠です
S3APIから ~.com/[バケットの名前]の[バケットの名前]を削除して ~.comで終わるようにしてください

パネルを再起動した後、バックアップを取って実際にデータが入っていたら成功です

おわり

昨日Pterodactyl公式でDockerイメージが用意されてることを知りました
でも、公式のやつにはcertbotが含まれていないと思うので非公式の方が使い勝手いいと思います

ree