No.9

Icon of naoki
kmyblue引っ越してみたメモ

例によって長いので、畳みます。
後ほど、先達さんも記事を上げてくれるらしいです、楽しみ。
#わーさんがやってみた

kmyblueサーバー移行 やったこと

* 新鯖にkmyblueを新規インストール(参照0)して、mastodon:setup開始直前まで進める(mastodon:setupは行わない、データベースユーザーmastodonのパスワードは念のため旧鯖にそろえる)
* 旧鯖止める(参照1)
* .env.productionを移行(live下隠しファイル)
* バックアップするべき容量を減らす(参照2)
* Postgresのダンプとロードを行う(参照3)
* 旧鯖のローカルファイルを圧縮、新鯖に持って行って解凍(参照4)
* RAILS_ENV=production bundle exec rails assets:precompile を実行し、Mastodon をコンパイル
* 各ユーザーのホームタイムラインを再構築するために RAILS_ENV=production ./bin/tootctl feeds build を実行(しなかったので、タイムライン消えまくりw)
* 新しいサーバーでマストドンを起動
* DNS 設定を更新
* Nginxの設定を更新またはコピーし、必要に応じてLetsEncryptを再実行(参照0に則って新規設定し直ししたが、参照5を試しても良かった)


参照0
https://github.com/kmycode/mastodon/wiki/Installation


参照1
sudo systemctl stop mastodon-{web,sidekiq,streaming}


参照2
# どのファイルが容量を食っているのか算出
RAILS_ENV=production bundle exec bin/tootctl media usage

# 過去の投稿を削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl status remove --days=90

# プレビューカードを削除。日数は適宜調整
RAILS_ENV=production bundle exec bin/tootctl preview_cards remove --days=180

# リモートメディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove --days=0

# 孤立メディアを削除
RAILS_ENV=production bundle exec bin/tootctl media remove-orphans


参照3
mastodon:setup を実行する代わりに、template0 データベースを使用して空の Postgres データベースを作成 。
(これは Postgres のダンプをリストアするときに便利だそう。pg_dump のドキュメントに記載)
古いシステムの mastodon ユーザーで以下を実行。

pg_dump -Fc mastodon_production -f backup.dump

rsync または scp を使って backup.dump ファイルをコピー。
次に、新しいシステムで mastodon ユーザで空のデータベースを作成。

createdb -T template0 mastodon_production

そして、コピーしたバックアップをインポート。
(念のため、旧鯖と同じ位置にインポート、ユーザー権限やパーミッションもそろえておく)

chown --recursive mastodon: /home/mastodon/backup.dump

chmod 664 /home/mastodon/backup.dump

pg_restore -Fc -U mastodon -n public --no-owner --role=mastodon \
  -d mastodon_production backup.dump

(新しいサーバでユーザ名が mastodon でない場合、上記の -U と --role の値を変更する必要があることに注意。なお、2つのサーバ間でユーザ名が異なっていても問題ない模様)


参照4
旧鯖にて

tar czf systemfiles.tar.gz /home/mastodon/live/public/system

これが作業ユーザーに入ったら新鯖に持っていく
解凍は(必要に応じてsudo入れつつ)

tar -xvf systemfiles.tar.gz

すると作業ユーザーの下に新たにhomeから増えたので、以下で持っていく(指定なければ作業ディレクトリ内の解凍らしいので、移動前パスは適宜探してください)

sudo mv /home/(ユーザ名)/home/mastodon/live/public/system /home/mastodon/live/public/.


参照5
Let's Encrypt SSL証明書の再発行
移行先サーバにて、 Let's Encrypt SSL証明書の再発行を行う。

sudo certbot certonly --standalone -d yourdomain.tld
(SSL証明書そのものをコピーしてこればいい説もあるが。。。)

Nginx の起動
↓ 一般ユーザ作業

# SSL証明書が正しく取得・インストールされていれば、問題なく立ち上がる
sudo systemctl start nginx
sudo systemctl start mastodon-{web,sidekiq,streaming}



参考サイト
https://github.com/kmycode/mastodon/wiki/Installation
https://dolphilia.com/translation/mastodon/running/migrating
https://qiita.com/neustrashimy/items/520838806e4524b229b9

後で発見したサイト
https://www.nan1.casa/blog/2023-06-12-backup-mastodon/
畳む

■Share

MaMiShare

■旅空ノ夢(Misskey):

編集

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■新着画像リスト:

全1個 (総容量 119.9KB)

■日付検索:

■カレンダー:

2024年2月
123
45678910
11121314151617
18192021222324
2526272829

■カテゴリ:

■最近の投稿:

最終更新日時:
2025年10月12日(日) 06時41分26秒〔103日前〕