構築手順
1. 目的
本ドキュメントはFRUCtoS配布パッケージを用いて、FRUCtoSを動作させる環境を構築するための手順を説明した資料です。
本ドキュメントはソフトウェアのインストール、OSの環境設定など基本的なコンピュータ管理の知識とその操作権限をもつ方を対象としています。
また、本書ではDockerを用いた環境構築手順を中心に解説しているため、Dockerの基本的な知識があるとより望ましいです。
例としてDockerを実行環境とする場合を記載しています。 他のDocker互換のコンテナ実行環境をお使いの方は、適宜読み替えてください。 設定ファイルも適宜書き換えてください。
2. FRUCtoSの全体像
本パッケージにより構成されるFRUCtoSの概念図と利用するTCPポートアドレス及びURLを下記に示します。
本配布パッケージに予め設定されている各種情報や本書で示される設定情報は動作確認のためのものであり、実運用を考慮したものではありません。
特に、Keycloakを用いたGatewayの構成はあくまで参考実装であり、同梱のKeycloak-Gatewayはその実装サンプルです。 Keycloakを使用してFRUCtoSをご利用の際は、管理者アカウントのパスワード変更や実装先に合わせた構成の見直し等、セキュリティ対策を十分 に行ってください。 使用時に発生したトラブルにつきまして、利用者が一切の責任を負うものとします。
全体の概念図
利用するTCPポートアドレスとURL
3. FRUCtoSを動作させるのに必要な環境
3.1. サーバ
3.1.1. OS
FRUCtoSは以下のOSで動作確認済みです。これらのOSを利用することを推奨します 。
- Windows 11 Pro 23H2
- macOS 14.3 Appleシリコン
- Ubuntu 24.04 LTS
3.1.2. Docker
本パッケージで提供されるFRUCtoSはDockerコンテナ上での動作を前提としています。 Dockerのインストールや設定についてはDocker設定手順を御覧ください。
docker-composeのバージョンがv2.0.0以上の場合、以降のドキュメントサイトに記載されているdocker-compose
コマンドをdocker compose
コマンドに読み替えて実行してください。
また以下のファイル内のコマンドについてもdocker-compose
コマンドをdocker compose
コマンドに修正した後ご利用ください。
・ 『dist/keycloak/deploy_all.sh』
・ 『dist/keycloak/deploy_all_win.bat』
・ 『dist/log-tools/startupErrorDetection.bat』
・ 『dist/log-tools/startupErrorDetection.ps1』
・ 『dist/log-tools/startupErrorDetection.sh』
3.2. クライアント
FRUCtoSはHL7FHIR規格のREST APIサーバです。動作確認にはOAuth2認証に対応したREST API Clientが必要です。本書ではPostmanを用いた動作確認を解説しています。
4. FRUCtoSの構築手順
4.1. 構築から動作確認までの流れ
FRUCtoSの構築から動作確認までの手順を以下に図示します。
4.2. Dockerのインストールと設定
Docker設定手順を参照してください。
4.3. FRUCtoSの配置
配布パッケージを解凍するとfructos-x.x.x
(x.x.x
の部分はバージョン番号)というフォルダができます。以下の説明ではこのfructos-x.x.x
というフォルダを$WORK
で表します。
配布パッケージには以下のものが含まれます。
ファイル名の「?.?.?」にはバージョンが設定されます。例)gateway-0.0.2-SNAPSHOT.jar
資料 | 場所 |
---|---|
KeycloakとGatewayのdocker-composeファイル | 『dist/keycloak/docker-compose.yml』 |
Gateway用のDockerfile | 『dist/keycloak/Dockerfile』 『dist/keycloak/Dockerfile.keycloak』 |
Keycloakの設定ファイル | 『dist/keycloak/realm-export.json』 |
gatewayのjarファイル | 『dist/keycloak/gateway-?.?.?-SNAPSHOT.jar』 |
postmanの設定ファイル | 『dist/keycloak/client.postman_collection.json』 |
Docker起動用スクリプト | |
(mac) | 『dist/keycloak/deploy_all.sh』 |
(windows) | 『dist/keycloak/deploy_all_win.bat』 |
FRUCtoS構築用配布物 | dist/fructos_docker フォルダ内 |
利用しているOSSのライセンスファイル | license フォルダ内 |
Docker コンテナログ確認スクリプト | dist/log-tools フォルダ内 |
管理システム構築用配布物 | dist/fructos_admin_docker フォルダ内 ※構築手順については管理システムの構築手順を御覧ください。 |
管理システム利用時のオプション資材 | dist/fructos_admin_docker_attachment フォルダ内 |
アダプタ開発用配布物 | dist/repository-adapter-sample フォルダ内 |
ダンプツール配布物 | dist/dump-tools フォルダ内 および dist/dump-tools-auditevent フォルダ内 |
dist/
以下にFRUCtoSの実行環境を構築するために必要なファイルが配置されています。
4.4. Dockerコンテナ作成と起動
4.4.1. FRUCtoSサーバ
Dockerイメージ・コンテナの作成と起動
$WORK/dist/fructos_docker
フォルダへ移動し、docker-compose
コマンドにより、Dockerイメージ・コンテナを作成します。
FRUCtoSサーバはDB管理システムとしてPostgreSQLを使用します。DBの接続情報は環境変数として .env
ファイルに記載されていますので、当ファイルを編集することで変更できます。
コンテナのポート番号はdocker-compose.yml
を編集することで変更できます。
管理システムを利用する場合には8. 管理システム利用時の追加作業の手順を先に実施して下さい。
過去にインストールしたFRUCtoSサーバのDocker環境が残っている場合には7.環境削除を参照して下さい。
セキュリティ上の観点から、DBの接続情報やコンテナのポート番号の変更をお勧めします。
.env
ファイルの初期値FRUCTOS_PSQL_USER=fructos ・・・(ユーザ名)
FRUCTOS_PSQL_PASSWORD=fructos#2020 ・・・(パスワード)
FRUCTOS_PSQL_DB=fructos ・・・(DB名)
FRUCTOS_AUDIT_PSQL_USER=fructos_audit ・・・(監査ログのユーザ名)
FRUCTOS_AUDIT_PSQL_PASSWORD=fructos!audit#2020 ・・・(監査ログのパスワード)
FRUCTOS_AUDIT_PSQL_DB=fructos_audit ・・・(監査ログのDB名)
FRUCTOS_CONFIGURATION_PSQL_USER=fructos_configuration ・・・(設定永続化のユーザ名)
FRUCTOS_CONFIGURATION_PSQL_PASSWORD=fructos!configuration#2020 ・・・(設定永続化のパスワード)
FRUCTOS_CONFIGURATION_PSQL_DB=fructos_configuration ・・・(設定永続化のDB名)tomcat/config/environment
ファイルの初期値(※管理システム利用時)
※.env
ファイルと同様docker-compose.yml
ファイルの初期値(抜粋)services:
db:
# ...
tomcat:
# ...
ports:
- "8099:8080"
# ...docker-compose
による起動Shelldocker-compose up -d --build