Mastodon(railsアプリ)を別サーバに引っ越しする
Mastodonを容量不足の問題のため別サーバへ引っ越ししました。
移行手順を備忘録として残しておきます。
全体像が分かりやすいように多少シンプルに書いています。
前提
- サーバAからサーバBへ移すことを前提とする※どちらもnon-docker
- ドメインは同一のものを使用し、Aレコードを変更する
移行前の事前準備
- 移行することをインスタンス内で告知し、バックアップする手順を案内
- 移行することをインスタンス内で告知し、バックアップする手順を案内
- 公式のインストール手順を参考にサーバBへMastodonを新規で入れて動作させておく
- rsyncコマンド(下記がコマンド例)でサーバAのMastodonメディアファイルをサーバBへ同期させる
rsync -av --delete -e "ssh -p SSHのポート名" /home/サーバAユーザ/public_html/mastodon/public/system/ サーバBユーザ@サーバBのIPアドレス:/home/サーバBユーザ/public_html/mastodon/public/system/
- DNS切り替えのためドメインのTTLを短くしておく
移行作業
- サーバAとサーバBのMastodon系のサービスをstopさせる
- 下記のコマンドでサーバAのDBデータをエクスポート
pg_dump -U mastodon -Ft mastodon_production > /home/サーバAユーザ/mastodon_production.tar
- SFTPなどでサーバAのDBデータをサーバBに移す
- サーバBでエクスポートしたサーバAのDBデータをインポート
pg_restore -U postgres -d postgres -v -C -c -Ft /home/サーバBユーザ/mastodon_production.tar
-
移行前の事前準備
で実施したrsyncをもう一度実施して、差分が出た分の同期をとる
- サーバBの
.env.production
ファイルのドメイン情報を書き換える
- certbotコマンドなどでサーバBの証明書を新規発行
-
RAILS_ENV=production bundle exec rails mastodon:feeds:build
でホームの再構築※移行させると何故かホームが空っぽになるので
-
bundle exec rails r 'Rails.cache.clear'
でRails(+ Redis & memcached) キャッシュのクリア
- サーバBのMastodon系のサービスをstartさせる
- 動作の確認が取れたらドメインのTTLを元に戻しておく
下記のURLを参考にさせていただきました、ありがとうございました
pg_dump -U mastodon -Ft mastodon_production > /home/サーバAユーザ/mastodon_production.tar
pg_restore -U postgres -d postgres -v -C -c -Ft /home/サーバBユーザ/mastodon_production.tar
移行前の事前準備
で実施したrsyncをもう一度実施して、差分が出た分の同期をとる.env.production
ファイルのドメイン情報を書き換えるRAILS_ENV=production bundle exec rails mastodon:feeds:build
でホームの再構築※移行させると何故かホームが空っぽになるのでbundle exec rails r 'Rails.cache.clear'
でRails(+ Redis & memcached) キャッシュのクリアAuthor And Source
この問題について(Mastodon(railsアプリ)を別サーバに引っ越しする), 我々は、より多くの情報をここで見つけました https://qiita.com/ruby_kumagoro/items/7efb3511ec5750caca18著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .