メインコンテンツへ移動
Nowledge MemNowledge Mem

セルフホストの自動更新

セルフホストのNowledge Mem Dockerサーバーでブラウザベースの更新を有効にする

セルフホストのDockerサーバーは、Webアプリから新しいNowledge Memリリースを確認できます。 それらのリリースをブラウザからインストールするかどうかはオプトインです。 これはサーバー自体を変更するためです。

これは公式の nmemctl Docker デプロイメント向けです

アプリ内自動更新には、公式のcommunity/dockerレイアウトとそのnmemctlヘルパーが必要です。 NASアプリストア、NAS Container Managerテンプレート、Portainer、Unraid、または独自のカスタムcomposeファイルからMemをインストールした場合、アプリは新しいバージョンが存在することを表示するかもしれませんが、そのデプロイメントを安全に書き換えることはできません。 インストールしたのと同じ場所から更新するか、独自のDockerイメージのpull/recreateフローを使用してください。

設定ページに自動更新が構成されていないと表示される場合は、サーバーに一度SSHで接続して次を実行します:

cd community/docker
./nmemctl auto-update enable

このコマンドは、デプロイごとのアップデータートークンを作成し、小さなコンパニオンアップデーターコンテナを起動し、Webアプリが将来のMemイメージをダウンロードしてインストールできるようにします。 サーバーにcommunity/dockerまたは./nmemctlが存在しない場合、この更新パスには乗っていません。

これは自分が管理するサーバーでのみ使用してください

アップデーターコンパニオンコンテナは、Memコンテナを置き換えるためにDockerへのアクセスを必要とします。 そのため、サーバーホストで明示的に有効化するまでブラウザからのインストールは無効になっています。

アプリでの変更点

公式の自動更新を有効にすると:

  • 新しいサーバーイメージが利用可能になると、タイトルバーに更新バッジが表示されます。
  • 設定には、現在のサーバーバージョン、利用可能な最新バージョン、およびリリースノートへのリンクが表示されます。
  • ダウンロードはMemをオフラインにすることなく、バックグラウンドでイメージを取得します。
  • インストールは、アップグレード前のスナップショットを取得し、コンテナを再作成し、サーバーが復帰したらページを再接続します。

インストールのたびに、直近3つのアップグレード前スナップショットが./cacheに保持されます。 新しいイメージが起動に失敗した場合、設定にスナップショットのパスが表示されるので、サーバーから復元できます:

./nmemctl import <snapshot-path> --force

便利なコマンド

./nmemctl auto-update status
./nmemctl auto-update rotate
./nmemctl auto-update upgrade
./nmemctl auto-update disable
  • statusは、自動更新が有効かどうかと、どのスナップショットが保持されているかを表示します。
  • rotateは、アップデータートークンを置き換えます。
  • upgradeは、コンパニオンアップデーターコンテナ自体を更新します。
  • disableは、アップデーターコンテナを削除しますが、既存のスナップショットは保持します。

リモートインストール

更新の確認は常に安全で、Web UIから利用できます。 ダウンロードとインストールはサーバー側の操作であるため、サーバーのリモート操作設定によって保護されています。

./nmemctl auto-update enableは、通常のWebアップグレードフロー用にこれを構成します。 後でこれをオフにした場合は、信頼できるプライベートネットワーク上にいるときに設定から リモートサーバーアップグレード を有効にするか、SSHからアップグレードを実行します:

./nmemctl upgrade <version>

詳細

バックアップ、メモリサイジング、TLS、移行を含む完全なDockerデプロイメントガイドについては、Docker Deploymentを参照してください。

このページの内容