MisskeyのデータベースをCloudflare R2に保存しちゃおう
はじめに
この記事は Misskeyのデータベースをバックアップしよう【OCIオブジェクトストレージ編】 をベースとして多数の記事を参考にして作られています。
また、筆者の環境はUbuntuに直接インストールする形で運用しているため、Docker等の他の環境では若干使い勝手が異なる可能性があります。あくまで参考程度でお願い致します。
ぜひこっちも見てほしい
私のやり方よりも結構まともに書いていただいております。
Misskey を R2 でバックアップした(Wrangler をブラウザログインせずに使う版)
参考文献リスト
- Misskeyのデータベースをバックアップしよう【OCIオブジェクトストレージ編】
- Cloudflare R2を使ってファイル管理を行うための基礎
- github.com/cloudflare/workers-sdk
- Postgresql cannot change to root with -u shortcut
- 【シェルスクリプト】ファイルやディレクトリの有無を確認する方法色々
- Ubuntu版Misskeyインストール方法詳説
Cloudflareにバケットを作ります
まずは https://dash.cloudflare.com/ の左メニュー内にあるR2をクリック。
開くとバケットを作成なるものが書いてあるのでクリック。
バケット名にはmisskey-backup
とかそれっぽいのを書いておきましょう。正直なんでも良いです。
今回僕はここにdb-backup
とでも書いておきます。
※位置情報(リージョン)の設定はおまかせします。デフォルトは無設定でいいかなと思います。
作成できるとこんな感じで出ます。
あとは設定で一定期間経過後に削除するのをCloudflare側で設定すると幸せになれます。
↓
ここまでできたら問題ありません。ブラウザは閉じてOK。
サーバー側でバックアップの準備
今回サーバーに用いているOSはUbuntu Serverですので、それを前提として話します。
それ以外の場合は少しずつ読み替えながら聞いてくれると嬉しいです。
下記のシェルスクリプトをコピペして必要に応じて各所を書き換えして任意の場所(Cronが読み込んでくれる場所)に導入します。
そしたら任意の場所でCloudflare Workersのwrangler
を導入します。
今回はmisskey
アカウントのHomeで実行します。
user@server:~$ npm create cloudflare@latest
Need to install the following packages:
create-cloudflare@2.0.12
Ok to proceed? (y) y
using create-cloudflare version 2.0.12
╭ Create an application with Cloudflare Step 1 of 3
│
├ In which directory do you want to create your application?
│ dir ./ANYDIRNAME
│
├ What type of application do you want to create?
│ type Scheduled Worker (Cron Trigger)
│
├ Do you want to use TypeScript?
│ no typescript
│
├ Copying files from "scheduled" template
│
├ Retrieving current workerd compatibility date
│ compatibility date 2023-07-17
│
╰ Application created
╭ Installing dependencies Step 2 of 3
│
├ Installing dependencies
│ installed via `npm install`
│
╰ Dependencies Installed
╭ Deploy with Cloudflare Step 3 of 3
│
├ Do you want to deploy your application?
│ no deploy via `npm run deploy`
│
├ APPLICATION CREATED Deploy your application with npm run deploy
│
│ Navigate to the new directory: cd hogehoge
│ Run the development server npm run start
│ Deploy your application npm run deploy
│ Read the documentation https://developers.cloudflare.com/workers
│ Stuck? Join us at https://discord.gg/cloudflaredev
│
╰ See you again soon!
インストールしたらcd/ANYDIRNAME
で移動しましょう。
移動先でnpx wrangler login
でログインします。
※GUIを求められるためCLI環境ではログインできませんでした。なんとかしてGUI環境でログインしてください。もしかしたらドキュメントを読み漁ったら別のやり方でできるかもしれません。
参考になるドキュメント
Installできたらさっきのシェルスクリプトを叩いてみましょう。多分動きます。
あとは大体大元となってるMisskeyのデータベースをバックアップしよう【OCIオブジェクトストレージ編】とやっていることは同じです。
あとがき
文脈一切関係ないですが一言。
おまけ
副産物です。自由に使ってください。
ただし動作保証はありません。
Discussion