この2023年のCasaOSチュートリアルの基本的な考え方は今でも有効です。Nextcloudでは、データベースとしてMySQLまたはMariaDBを使用できます。ただし、正確なイメージタグ、環境変数、ネットワーク動作、データベースのバージョンが変更されている可能性があるため、古いコンテナの手順をそのまま使うべきではありません。
現在の環境にデプロイする場合は、使用中のNextcloudのリリースでサポートされているデータベースバージョンを選び、両方のサービスに永続ストレージを割り当て、安定したDockerネットワーク上で接続してください。また、データベースは固定のコンテナIPではなく、サービス名またはコンテナ名で指定します。
元のスレッドに実際に記載されていた内容
このフォーラム投稿では、CasaOS上でNextcloud用のMySQLを設定する動画ガイドが紹介されていました。スレッド本文には、チュートリアルのDocker Composeファイルや設定値は掲載されていなかったため、フォーラムページだけをもとに当時の手順を確実に再現することはできません。
この違いは重要です。2023年の動画でもアーキテクチャ自体は正しく説明されている可能性がありますが、現在ではイメージタグや設定項目が古くなっている場合があります。
Nextcloudは現在もMySQLとMariaDBをサポート
最新のNextcloudのシステム要件には、サポートされているデータベースの種類とバージョンが記載されています。MySQLは引き続きサポートされており、MariaDBやPostgreSQLも一般的な選択肢です。
インストールするNextcloudのメジャーバージョンに対応する要件を使用してください。古いチュートリアルに記載されているという理由だけで、何年も前のデータベースイメージを固定するのは避けましょう。
コンテナIPではなく、安定したDockerネットワークを使用
Nextcloudとデータベースを別々のコンテナで実行する場合は、同じユーザー定義Dockerネットワーク上に配置するか、同じComposeプロジェクトに含め、データベースホストにはデータベースのサービス名を指定します。コンテナIPアドレスは、コンテナの再作成や再起動後に変わる可能性があります。
現在のZimaOSは、複数コンテナによるComposeデプロイに対応しています。古いCasaOSチュートリアルから現在のZimaOSへ移行する場合は、デプロイ前の容量検討にNextcloudハードウェアガイドが役立ちます。
Nextcloudのデータとデータベースのデータを両方永続化
Webアプリケーションとデータベースでは、必要な永続化方法が異なります。Nextcloudの設定・データ用と、データベースのデータディレクトリ用に、永続ストレージを割り当ててください。コンテナを再作成しても、どちらのサービスの状態も消失しないようにする必要があります。
稼働中のデータベースディレクトリを、通常のフォルダーと同じようにバックアップしないでください。一貫性のあるデータベースダンプ、スナップショットに対応した手順、またはアプリケーション対応のバックアップの方が安全です。データベースコンテナのバックアップガイドでは、一貫性が重要な理由を説明しています。
Nextcloudのインストーラーで入力する内容
現在のNextcloudインストールウィザードでは、データベースの認証情報とデータベースホストの入力を求められます。Composeスタックでは、通常、ホストにはデータベースのサービス名を指定し、デフォルト以外のポートが必要な場合に限ってポート番号を追加します。
別のホストから実際に接続する必要がない限り、データベースのポートをLAN全体に公開しないでください。通常、Nextcloudとデータベースは、それぞれのDockerネットワーク上で通信できれば十分です。
まとめ
古いCasaOSチュートリアルのアーキテクチャ、つまりNextcloudと独立したSQLデータベースを組み合わせる構成は、今でも理にかなっています。ただし、2023年のイメージバージョンやネットワーク設定をそのままコピーするのではなく、現在のアップストリーム要件を使用してください。永続ボリュームと、サービス名を使った安定したネットワーク接続が、現在も引き継ぐ価値のある重要なポイントです。
