KUSONEKOの見る世界

Nextcloud 26 (Hub 4) にアップデート ChatGPTも使ってみた

Nextcloud Hub 4 (26.0.0)にアップデートしてみました。

今回の目玉は、AIの統合―つまりChatGPTがNextcloud内で使えるようになっています。
ChatGPTを今まで使ったことがありませんでしたが、今回試しに使ってみました。

Nextcloud 26 (Hub 4) のアップデート内容

今回の主なアップデート内容は以下です。

  • AIで色々できる
  • Tables が Microsoft SharePointの代わりのように使える
  • Noteがコア機能になった
  • ファイルのバージョンに名前を付けられる
  • デスクトップクライアント、モバイルアプリの改善
  • エンドツーエンド暗号化の改善
  • Taikでブレイクアウトルームができるようになった
  • 通話の録音と追跡ができるようになった
  • 共有メールボックスができるようになった
  • Office、Deckの改善
  • パフォーマンスの向上
  • PHP 8.2に対応

色々とありますが、一部を紹介します。

ChatGPTを使ってみる

折角なので、Nextcloud上でChatGPTを使ってみます。

  1. OpenAI Integrationを有効化
    [アプリ]の[連携]カテゴリから、OpenAI Integrationを有効化します。
    OpenAI Integrationを有効化

  2. Connected accountsで、OpenAI API Keyを入力
    [管理者設定]の[Connected accounts]で、OpenAI API Keyを入力する。
    OpenAI API Keyを入力
    OpenAI API Keyは、画面内のリンクから飛んで、アカウントを作成して生成します。
    アカウント作成には、SMS認証もあります。

有効化後は、Nextcloud内のテキスト入力欄で、「/」を入力すると、ChatGPTやAI Imageが出てくるようになるはずです。
少なくとも、Talk、Note、Deckでは使えています。

まずは、NoteでChatGPTを使用してみます。

  1. Note上で、/を入力し、オプションを表示させ、[ChatGPT-Like text generation]を選択。
    ChatGPT-Like text generation

  2. ChatGPTに質問
    ChatGPTに質問

  3. 回答が返ってきました。
    ChatGPTの回答
    ギネス記録を持った猫が出てきました。
    当ブログのマスコットは出てきません。

次に、image generationを使用してみます。

  1. Note上で、/を入力し、オプションを表示させ、[AI image generation]を選択。
    AI image generation

  2. 生成してほしい画像を入力
    AI 画像生成要求

  3. 画像が生成されました。
    AI 画像生成結果
    いかにもAIな違和感のある画像が出てきました。
    当ブログのマスコットではありません。

パフォーマンス向上、PHP 8.2対応

自分にとって嬉しいのは、この2つです。

パフォーマンス向上では、フォルダー マウントの読み込みとコンテナーの処理が最大 20% 改善とのことです。
他にTalkでは、メッセージの読み込みが体感で速くなっています。通知の遅延も少なくなっているそうなので、これは良いです。

また、PHP 8.2の対応については、非常に嬉しいです。
先日、PHP8.2にバージョンアップしたところ、Nextcloudが使えなくなり、PHP8.1に泣く泣く戻していました。
今回のアップデートでようやく上げることができます。
PHPのパフォーマンス向上にも期待ができます。

いつも通りにアップデート

Webでバージョンアップするとタイムアウトで失敗するため、いつも通りCLIで実行しました。

# cd /var/www/html/nextcloud/updater/
# sudo -u nginx php updater.phar
Nextcloud Updater - version: v25.0.3-2-gd49ee0d

Current version is 25.0.5.

Update to Nextcloud 26.0.0 available. (channel: "stable")
Following file will be downloaded automatically: https://download.nextcloud.com/server/releases/nextcloud-26.0.0.zip
Open changelog ?

Steps that will be executed:
[ ] Check for expected files
[ ] Check for write permissions
[ ] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done

Start update? [y/N] y
Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.

[?] Check for expected files
[?] Check for write permissions
[?] Create backup
[?] Downloading
[?] Verify integrity
[?] Extracting
[?] Enable maintenance mode
[?] Replace entry points
[?] Delete old files
[?] Move new files in place
[?] Done

Update of code successful.

Should the "occ upgrade" command be executed? [Y/n] Y
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade

(snip)

Keep maintenance mode active? [y/N] n

Maintenance mode is disabled

セキュリティ&セットアップ警告の消し込み

Nextcloud 26.0.1 にアップデートした時に出たものです。

  • データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 "occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。
    • テーブル "oc_filecache"のインデックス "fs_parent"が見つかりません。

    →以下の通り実施

    # cd /var/www/html/nextcloud/
    # sudo -u nginx php occ db:add-missing-indices
    Check indices of the share table.
    Check indices of the filecache table.
    Adding additional parent index to the filecache table, this can take some time...
    Filecache table updated successfully.
    Check indices of the twofactor_providers table.
    Check indices of the login_flow_v2 table.
    Check indices of the whats_new table.
    Check indices of the cards table.
    Check indices of the cards_properties table.
    Check indices of the calendarobjects_props table.
    Check indices of the schedulingobjects table.
    Check indices of the oc_properties table.
    Check indices of the oc_jobs table.
    Check indices of the oc_direct_edit table.
    Check indices of the oc_preferences table.
    Check indices of the oc_mounts table.

Nextcloud 26.0.3 にアップデートした時に出たものです。

  • データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 "occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。
    • テーブル "oc_mounts"のインデックス "mounts_user_root_path_index"が見つかりません。

    →以下の通り実施

    # cd /var/www/html/nextcloud/
    # sudo -u nginx php occ db:add-missing-indices
    Check indices of the share table.
    Check indices of the filecache table.
    Check indices of the twofactor_providers table.
    Check indices of the login_flow_v2 table.
    Check indices of the whats_new table.
    Check indices of the cards table.
    Check indices of the cards_properties table.
    Check indices of the calendarobjects_props table.
    Check indices of the schedulingobjects table.
    Check indices of the oc_properties table.
    Check indices of the oc_jobs table.
    Check indices of the oc_direct_edit table.
    Check indices of the oc_preferences table.
    Check indices of the oc_mounts table.
    Adding mounts_user_root_path_index index to the oc_mounts table, this can take some time...
    oc_mounts table updated successfully.