ownCloudをNextcloudへマイグレーション

ownCloudをNextcloudへマイグレーション

ownCloudをNextcloudへマイグレーション

過去にもこのTechblogで触れましたが、当社はOSSを使い自前のクラウドストレージを運用しています。元々はownCloudを利用していましたが、いつぞやほぼ同じものとしてNextcloudなるものが出てきました。開発にメインで関わっている方々のゴニョゴニョがあったのだろうと推察します。

現在、ownCloudの開発は静まり返っており、Nextcloudの方が開発が盛んに見えます。ownCloudはphpバージョン問題もあり、これを機に、当社のownCloudをNextcloudにマイグレーションできるか試してみることにしました。その結果報告です。


マイグレ、その前に

ownCloudは、クラウドストレージ向け OSS の草分け?!です。その ownCloud から派生して開発されているのがNextcloudです。したがって、仕組みや機能は非常に似ています。 今では、さまざまな機能が増えており、クラウドストレージに留まらない Web アプリに成長しているようです。

ownCloud は、php バージョンが古いこともあり、情報セキュリティの観点から使い続けることにリスクがあると判断しました。そのようなユーザも多いのか、Nextcloud 側では、ownCloud から Nextcloud へのマイグレ方法についてマニュアルを用意してくれています。

OC2NC

ただし、マイグレ中・後に想定される不具合としては、以下のようなものが挙げられます。

  • 一部、Add-on アプリが動作しない
  • 一部の DB テーブルのみマイグレ失敗する

マイグレしてみた!

基本的には、マニュアルに従います。

1. ownCloud のアップデート

ownCloud のバージョンを手動で最新化(10.13.4)します。

occ upgrade

2. 案の定、Add-on アプリでエラー発生

案の定、いくつかの Add-on アプリでエラーが発生しました。ActivityPDF Viewerが、その一部です。

UnexpectedValueException: The files of the app "activity" were not correctly replaced before running the update
UnexpectedValueException: The files of the app "files_pdfviewer" were not correctly replaced before running the update

それらのアプリを、一旦、無効化します。

occ app:disable activity

その後、再度、バージョンをアップグレードします。


3. DB のスキーマ調整

occ upgrade が最後まで走ったら、以下の 4 つのコマンドでデータベースのスキーマを調整します。

occ db:convert-filecache-bigint
occ db:add-missing-columns
occ db:add-missing-indices
occ db:add-missing-primary-keys

4. メンテナンスモードの解除

最後に、メンテナンスモードを解除します。

occ maintenance:mode --off

5. 結果

基本機能は問題なく動きました。DB マイグレが問題なかったことは、非常に嬉しい限りです。

ただし、想定していた通り、一部の Add-on アプリがそのままでは動作しませんでした。

エラーとなってしまい動作しなくなった Add-on アプリは、 apps/ 以下からいったん削除し、Nextcloud 本体の配布物に含まれるもので置き換えることで、正常動作しました。

今回も、当社がいつもサーバ運用でお世話になっているWalbrix 社にご支援をいただきました。ありがとうございます。


おまけ: OpenAI and LocalAI integration on Nextcloud

Nextcloud の Add-on アプリには便利なものが多くありますが、最近話題の LLM に関するアプリを簡単にご紹介します。 その名もOpenAI and LocalAI integrationです。

UI/UX という観点で、特に優れているわけでもないのですが…

NextcloudのWebアプリ画面上で、ChatGPTを叩けて、調べたことをそのままNextcloud上のメモとして残しておけるよ!

という機能を享受できます。


Nextcloud 上のメモから、ChatGPT 機能を呼びだす

Start
"/"で呼び出し

プロンプトの入力&回答結果

Prompt

回答結果をメモに記録

Output

GPT-3.5 だからか? 5つ中 4つの回答が的外れな内容…