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を楽しむ
とりあえず以上でチャットができるはずです。
テキスト生成などはアプリのインストールや管理者メニューの人工知能設定で色々といじらないとエラーが出ますの注意してください。
サーバー側でやることは以上なはずです。
絶対使わないだろうな・・・