Discourseを別のサーバーへ移行する方法(同じDNS名を維持)

詳細な手順をありがとうございます。私も同様のことを、新しいホストへの移行で行いました。
サイトは動作していたので、バックアップをやり直すのは避けたく、ここに記載されている手順に従いました。

ほぼうまくいきましたが、新しいホストでの再構築が失敗しました。
原因は、2つのホスト間でUID/GIDのマッピングが完全に同じではなかったため、Postgresの起動時にデータフォルダの所有権が正しくなく、エラーが発生したことでした。

これは他のインスタンスでも起こりうることで、幸いなことに修正方法があります

この投稿のシナリオには、もう一つ追加の注意点があります。それは、コンテナがビルドされていないため、この段階では ./launcher enter app が機能しないことです。再構築にはかなりの時間がかかるため、docker ps を使用してビルド中のコンテナ名を取得し、コンテナに入ることができました。

docker exec -it <container_name> bash
chown -R postgres:postgres /shared/postgres_*

その後、再構築は失敗します(または CTRL+C で停止できません)。停止した後、再度実行するだけで、権限が修正されます。

./launcher rebuild app

そして、再び動作するようになりました :sweat_smile:

「いいね!」 1