手動デプロイ
本シリーズでは、Ubuntu 22.04 x86_64 に qOntology をネイティブインストールし、systemd でサービスを管理する方法を説明します。Linux コマンドの使用、設定ファイルの編集、サービスログの調査ができる運用担当者を対象としています。
デプロイの流れ
本セクションは 目次 1 ページと手順 5 ページで構成されています。初回デプロイは次の順序で実施してください。
| 手順 | ページ | 完了後の状態 |
|---|---|---|
| 1 | 環境のセットアップ | Java 実行環境と、必要に応じて Maven・Node.js のビルドツールを準備 |
| 2 | データベースとミドルウェアのデプロイ | MySQL、Redis、Neo4j、ファイルプレビューサービスに接続可能 |
| 3 | データの初期化 | 業務データベース、アプリケーション用アカウント、グラフ接続の準備が完了 |
| 4 | アプリケーションのビルド | バックエンド JAR とフロントエンド dist を生成 |
| 5 | qOntology サービスのデプロイ | バックエンド、Nginx の入口、全体のアクセス確認が完了 |
同一リリースのビルド済み成果物を使用する場合は、手順 4 を省略できます。Maven と Node.js はビルドマシンにのみ必要です。kkFileView をソースからビルドする場合は、ビルドマシンにも Java 17 が必要です。qOntology API、Neo4j、kkFileView の実行サーバーも JDK 17 に統一します。
サービスと構成基準
| サービス | 本シリーズの例 | 役割 |
|---|---|---|
| Nginx | Ubuntu リポジトリのバージョン、入口 8897 | フロントエンド配信と API・プレビューの転送 |
| qOntology API | Java 17、ポート 8097 | 業務 API、権限、オントロジー関連処理 |
| MySQL | 5.7.44、ポート 3306 | リレーショナル形式の業務データ |
| Redis | 6.x、ポート 6379 | キャッシュとセッション関連データ |
| Neo4j Community | 4.4.40、Java 17、ポート 7474/7687 | グラフデータの保存と検索 |
| kkFileView | 4.4.0、Java 17、ポート 8012 | ファイル変換とプレビュー |
本シリーズはプロジェクトの MySQL 5.7、Neo4j 4.4 の構成基準に従います。kkFileView はネイティブインストール手順を確認できるよう 4.4.0 に固定しています。プロジェクトの Compose の latest がこのバージョンを意味するわけではありません。表はチュートリアルの例であり、システム全体の互換性や容量の認定ではありません。旧バージョンの保守期間とアップグレード互換性は、本番環境の選定時に別途評価してください。
AI モデルと永続化対応のベクトルサービスは任意の接続先であり、上記 6 サービスには含まれません。標準例では一時的なインメモリのベクトル保存を使用します。再起動後もベクトルデータを保持する場合は、永続化サービスを別途設定してください。
ディレクトリとアクセスの共通規約
/opt/qontology/
├── server/ # qontology-server.jar
├── config/ # deploy.yml による外部上書き設定
└── web/ # フロントエンド dist 内のファイル
/var/lib/qontology/
└── upload/ # アップロードファイル
/var/log/qontology/ # バックエンドログデータベースとプレビューサービスは、それぞれ独立したデータディレクトリを使用します。ブラウザーのアクセス先は http://<SERVER_IP>:8897 です。この 1 台構成では、データベース、キャッシュ、グラフデータベース、API はループバックアドレスのみで待ち受けます。複数ホストへ移行する際は、待ち受けアドレス、接続先、ネットワークのアクセス規則を併せて変更してください。
<SERVER_IP>、<RELEASE_TAG_OR_COMMIT>、<..._PASSWORD> は実際の値に置き換えます。各コードブロックの前に示したディレクトリでコマンドを実行してください。ファイル編集には sudoedit を使用し、設定例はファイルの内容として記載しています。Shell コマンドではありません。
初回デプロイ専用
本シリーズは新規環境を対象とします。初期化 SQL にはテーブル削除文が含まれるため、既存の業務データベースでそのまま再実行してはいけません。アプリケーション、初期化ファイル、設定は同一リリースで揃えてください。既存システムの更新では、先にバックアップし、対応するアップグレードスクリプトを使用します。
本シリーズはシングルサーバー構成であり、複数レプリカによる高可用性や自動拡張は含みません。リソース計画はサーバーリソース仕様の目安、コンポーネント間の関係はデプロイ構成図を参照してください。図は Docker Compose の配置範囲を示しています。コンテナーを使用する場合は Docker Compose によるデプロイに従ってください。
ページ構成は qData の手動デプロイチュートリアルを参考とし、コンポーネント、コマンド、パスは qOntology に合わせています。
