gotosocialのサーバーを別のマシンに移動した

サーバーコスト削減の流れで、全てをさくらのVPSに集約することができた。

gotosocialのサーバー移動はやや手間取ったが、終わってみれば別段難しいことではなかった。一応ドキュメントに記述があるが、大雑把だ。

https://docs.gotosocial.org/en/latest/admin/backup_and_restore/

やったこと

  • 新しいサーバーにdocker-compose.ymlを配置する
    • gotosocialのdocker imageのバージョンが変わらないように注意する。ここを間違えて0.6から0.7に上がってしまい手間取った。gotosocialのバージョンが上がるとDBのスキーマが変わることがあり、マイグレーションが上手く通らなくてDBを参照できずに落ちる。
gotosocial    | timestamp="04/03/2023 15:27:59.346" func=admin.(*processor).MediaPrune.func3 level=ERROR msg="MediaPrune: error pruning meta: SQL logic error: no such column: account.last_webfingered_at (1)"

https://github.com/superseriousbusiness/gotosocial/blob/main/internal/db/bundb/migrations/20230202212700_rename_account_webfingered_to_fetched.go この辺かな?

  • 古いサーバーのsqliteのデータをdumpする
$ cd data
$ sqlite3 sqlite.db
> .output ./dump.sql
> .dump
  • このdump.sqlを新しいサーバーに持っていく
    • scpなりrsyncなりご自由に
  • 新しいインスタンス用のsqliteデータベースを作りdumpファイルを読み込む
    sqlite3 newdb
    .read ./dump.sql
  • 画像等のファイル(dataディレクトリ内のsqliteではないフォルダ群)も新サーバーに持ってくる
  • docker-compose.ymlをよしなに変更する
    • sqliteデータベースの名前とか注意
  • docker-compose upしてDNSを新しいサーバーのIPに向け直す
    • DNSが効くまで時間がかかって面倒なときはローカルマシンの /etc/hosts に書き込んじゃうとすぐ動作確認できる

日記

急に本格派の焼売が食べたくなったので中国人がやってる中華料理屋で食べた。その後近所を少し散歩した。
コミュニティセンターのような施設があって初めて入ってみたら、大小いろいろな集まりの募集があって面白かった。しかし公的な施設というのはどこも節電で薄暗くて陰気で良くない。

帰宅してのんびりアニメを見たり、RimWorldを見たり、カレーを食べたり。今のロットのカレーはじゃがいもも人参も大きすぎて火の通りが悪いのが反省点だ。

エアコンのフィルタの掃除をした。猛烈にほこりが飛ぶかと思ったがそこまででもなく、粘着コロコロと流水だけでかなりきれいになった。掃除機がなくてもなんとかなるね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です