マルチコンテナモードに移行した際、DBのリストアが予期せぬサイトのダウンタイム(バックアップがDBに読み込まれている間)を引き起こすことに気づきました。
そこで、postgres.template.yml を調べてみたところ、app.yml およびスタンドアロンコンテナ standalone の共有スペースへのパスが、このテンプレートにハードコードされていることがわかりました。
これらのファイルの専門家ではありません(まだですが)、コードは主に情報提供を目的とした「echo」文であるため、内容はユーザーへの「情報提供」として機能しており、致命的な問題を引き起こすものではないように見えます。
テンプレートの例
echo Run: "./launcher stop app"
echo Run: "sudo mv /var/discourse/shared/standalone/postgres_data /var/discourse/shared/standalone/postgres_data_old"
echo Run: "./launcher rebuild app"
echo
echo Run: "./launcher enter app"
echo Run: "cd /shared/postgres_backup"
echo Run: "sv stop unicorn"
echo Run: "sudo -iu postgres dropdb discourse"
echo Run: "sudo -iu postgres createdb discourse"
echo Run: "sudo -iu postgres psql discourse < backup.db"
echo Run: "exit"
echo Run: "./launcher rebuild app"
exit 1
if [ "$PG_MAJOR_OLD" = "9.5" ]; then
echo 'In containers/app.yml: Change "templates/postgres.template.yml" TO "templates/postgres.9.5.template.yml"'
echo
fi
などなど。
すべてが「情報提供であり、致命的な問題ではない」と思われます。
おそらく重要ではないかもしれませんが、サイトのさまざまなチュートリアルでこのテンプレートや、データコンテナを「data」、Webコンテナを「web-only」にリネームする手順が言及されているため、触れておく価値があると考えました。
参考情報として、将来的に検討していただければ幸いです。