このガイドでは、セルフホスト環境でDiscourse、Dockerコンテナ、およびUbuntuオペレーティングシステムを手動で更新するための段階的な手順を説明します。
必要なユーザーレベル: システム管理者
サーバーへのSSHアクセス。
Discourseをセルフホストしている場合、最新のセキュリティリリースや新しいライブラリを入手するために、コマンドラインから手動で更新を実行する必要がある場合があります。
これらの更新は admin/upgrade では取り込まれないため、これらの追加手順を実行する必要がある場合があります。
Discourseの更新
-
Discourse自体は、管理ダッシュボード (
admin/upgrade) で「最新バージョンに更新」ボタンをクリックすることで、月に約2回更新する必要があります。 -
2か月に一度、WebサーバーにSSH接続し(puttyまたはお気に入りのSSHクライアントを使用)、特にアップグレードページが表示されない場合や、アップグレードを試みる際に問題が発生した場合は、次のコマンドを実行することを推奨します。
cd /var/discourse
./launcher rebuild app
DockerイメージとUbuntu OSの更新
Ubuntuの更新については、必ずUbuntuの自動セキュリティ更新を有効にしてください! コマンドは次のとおりです。
dpkg-reconfigure -plow unattended-upgrades
ただし、これはクリティカルなセキュリティ更新のみを対象としています。時折、次のようにすべてのOS更新を取得する必要があります。
apt-get update
apt-get dist-upgrade
これにより、標準の docker-ce パッケージ経由でDockerも最新の状態に保たれます。
要約すると次のようになります。
- 月に2回、Webアップデーター経由でDiscourseを更新
- 2か月に一度、コンテナを更新
- 6か月に一度、OSを更新
これらの数値を2倍にしても、かなり安全でいられます。たとえば、Discourseは月に1回、コンテナは4か月に1回、OSは12か月に1回更新するなどです。
しかし、上記のようにUbuntuで自動セキュリティ更新を有効にすることは、本当に、本当に重要です。
FAQ
更新するのに適切な時期はいつですか?
利用可能な時間と、最先端にどれだけ近づきたいかによります。非公式プラグインを使用している場合は、テスト/ステージングサイトを利用することが強く推奨されます。非公式プラグインがない場合は、すぐにアップグレードできる可能性が高いですが、それでもチームが修正するまで数日間は一部のプラグインが壊れる可能性があります(プラグインは多数あります)。
多数のプラグインがインストールされている場合の一般的な慣行は何ですか?
多数のプラグインがある場合は、ローカルまたはテストサーバーでのテストを強くお勧めします。特に非公式プラグインがある場合は、何かが壊れている可能性があるためです。何かが壊れていることが判明した場合、それはあなたにそれを修正する時間があるかどうか、元のプラグイン作成者にそれを修正する時間があるかどうかの問題になります。どちらも数週間かかる可能性があります。したがって、少なくともこのようにすれば、本番サイトが壊れるのではなく、壊れたテストサイトがあるだけです。
ディスク容量が不足しています
ディスク容量が不足している場合(dfで確認)、次を使用して古いイメージをクリアしてみてください。
./launcher cleanup
apt-get autoclean
apt-get autoremove
Discourseは常にDocker内で動作するため、Ubuntuの実際のサーバーバージョンを更新することは重要ですか?
重要性ははるかに低くなります。ただし、少なくとも現在サポートされているLTSバージョンのUbuntuサーバーを使用している必要があります。64ビットのLinux OSと最新のカーネルバージョンが必要です。
