メインコンテンツまでスキップ

NextcloudにAI統合をする(Gemini)

Nextcloudアシスタントを使えるようにします。

正直な話、Nextcloud内で使える必要はあるのだろうか

NextcloudでAIアシスタントを実装する方法です

今回は無料で誰でも使えるのでGeminiを使います。

Google AI StudioでAPI Keyを取得してください。

アプリのインストール

OpenAI and LocalAI integrationというアプリをアプリストアからインストールします。
さらにNextcloud Assistantというアプリもお願いします。

管理者メニューの人工知能へアクセスして サービスURLに以下を追加

https://generativelanguage.googleapis.com/v1beta/openai

取得したAPI Keyも認証に貼り付けてください。

モデルの選択

Default completion model to useでどちらかを選択してください
models/gemini-2.5-flash(google)
models/gemini-2.0-flash(google)

AIを試す(まだ動かない)

検索ボタンの横にAIマークが追加されています。

クリックしてAIとチャットを選択して こんにちはと入力して送信してみてください。

おそらく数分後とかにエラーがでますがエラーが出る前に次にいきます。

Nextcloudアシスタントが動作するようにする

私の環境はUbuntuですが以下をサーバーへ張り付てください。
occコマンドを実行できるようにnextcloudのディレクトリまで指定してください。

 sudo -u www-data php /var/www/nextcloud/occ background-job:worker 'OC\TaskProcessing\SynchronousBackgroundJob'

この状態クラウドでメッセージを入力すると成功すると思います。

スクリプトの作成

Screenコマンドで動かしててもいいですかそれだと再起動した際に終了してしまうのでサービスとスクリプトを作成します。

スクリプトを作成

sudo mkdir /opt/nextcloud-ai-worker
sudo vi /opt/nextcloud-ai-worker/taskprocessing.sh

以下をコピー(パスは編集してください) 必要があれば他も編集してください 

#!/bin/sh
echo "Starting Nextcloud AI Worker $1"
cd /var/www/nextcloud
/usr/bin/php occ background-job:worker 'OC\TaskProcessing\SynchronousBackgroundJob'

## 権限変更

sudo chown -R www-data:www-data /opt/nextcloud-ai-worker

サービスの作成

自動起動と常駐化をします。

sudo vi /etc/systemd/system/nextcloud-ai-worker@.service

以下をはりつけてください。

[Unit]
Description=Nextcloud AI worker %i
After=network.target

[Service]
ExecStart=bash /opt/nextcloud-ai-worker/taskprocessing.sh %i
Restart=always
StartLimitInterval=60
StartLimitBurst=10
User=www-data

[Install]
WantedBy=multi-user.target

起動とステータス確認

sudo systemctl daemon-reload
sudo systemctl enable nextcloud-ai-worker@1.service
sudo systemctl start nextcloud-ai-worker@1.service
systemctl status nextcloud-ai-worker@1.service

AIを楽しむ

とりあえず以上でチャットができるはずです。

テキスト生成などはアプリのインストールや管理者メニューの人工知能設定で色々といじらないとエラーが出ますの注意してください。
サーバー側でやることは以上なはずです。
絶対使わないだろうな・・・