Dockerイメージを使用しパラメータを既定値から変更して起動する
概要
データベースにPostgreSQLを指定し、パラメータを既定値から変更して、公式Dockerイメージからプリザンターを起動する手順です。
制限事項
- ver1.4.5以前で実施する場合はCodeDefinerのコマンドが変更されているため、以下ページを参照してください。
ver1.4.6以降で初回インストール時のCodeDefinerの手順について - 本ページの手順は、プリザンターをすぐに試したいユーザのために、PostgreSQLコンテナをプリザンターと同一のDocker構成に含めた複数コンテナ構成を採用しています。この構成は本番運用を想定したものではありません。
- 本番運用では、データベースコンテナが性能上のボトルネックになります。別ホスト上のデータベースとすることを強く推奨します。
前提条件
- 本手順ではデータベースとしてPostgreSQLを使用します。他データベースを使用する手順は以下を参照してください。
- 本手順は、以下マニュアルの手順通りにDockerが利用できることを前提としています。
下記マニュアルを参照し、プリザンターの公式Dockerイメージを使ってプリザンターを起動できることを確認してください。 - データベースにPostgreSQLを使用する場合パラメータ設定:Rds.jsonの配置・編集は不要です。
操作手順
1. ファイル配置、フォルダ作成
プロジェクトディレクトリ(以下例ではpleasanter)にフォルダを以下のように構成し、ファイルを配置します。
📁pleasanter
+-- 📁app_data_parameters
| +-- 📁拡張機能用フォルダ
| | +-- 📄拡張機能用ファイル
| |
| +-- 📄パラメータファイル
|
|-- 📄.env
|-- 📄compose.yaml
フォルダ またはファイル | 説明 |
| app_data_parameters | ご利用環境に合わせて設定したパラメータファイルを格納するためのフォルダ。拡張SQLや拡張スクリプトなどの拡張機能用フォルダおよび拡張機能用ファイルも必要に応じて本フォルダに格納する。 |
| .env | データベース接続情報などの設定情報や環境変数を記述したファイル |
| compose.yaml | Docker Composeの設定ファイル |
1-1. app_data_parametersフォルダの作成
-
プロジェクトディレクトリで以下コマンドを実行し、app_data_parametersフォルダを作成します。
mkdir ./app_data_parameters
1-2. パラメータファイルの準備
- ダウンロードセンターから、プリザンターをダウンロードします。特段理由がない場合は最新バージョンをダウンロードしてください。過去にリリースした特定のバージョンが必要な場合は、該当のバージョンのプリザンターをダウンロードしてください。
- zipファイルを任意の場所に解凍します。
- 解凍したフォルダ内にある「
\pleasanter\Implem.Pleasanter\App_Data\Parameters」から変更したいパラメータを1-1で作成したapp_data_parametersフォルダ配下にコピーします。 - パラメータの内容を適宜変更し、更新します。
- 拡張SQL(ExtendedSqls)や拡張スクリプト(ExtendedScripts)などの拡張機能を設定する場合は拡張機能用のフォルダを
app_data_parametersにコピーし、コピーした各フォルダ内に拡張機能用ファイルを作成します。
1-3 .envファイル
-
以下コマンドを実行し、.envファイルを作成します。
-
テキストエディタで.envを開き、以下の内容を張り付け保存します。{{ ... }}はご利用環境に合わせて適宜修正してください。各設定内容については「Dockerで起動する」の.envファイルに関する説明を参照してください。
| .env |
|---|
| POSTGRES_VERSION={{PostgreSQL Version}}
POSTGRES_VOLUMES_TARGET={{Volumes TargetPath}}
POSTGRES_USER=postgres
POSTGRES_PASSWORD={{Sa Password}}
POSTGRES_DB=postgres
POSTGRES_HOST_AUTH_METHOD=scram-sha-256
POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256"
PLEASANTER_VERSION={{Pleasanter Version}}
Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString="Server=db;Database=postgres;UID=postgres;PWD={{Sa Password}}"
Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString="Server=db;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD={{Owner password}}"
Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString="Server=db;Database=#ServiceName#;UID=#ServiceName#_User;PWD={{User password}}"
|
1-4 compose.yamlファイル
-
以下コマンドを実行し、compose.yamlファイルを作成します。
-
テキストエディタでcompose.yamlを開き、以下の内容を貼り付け保存します。
| compose.yaml |
|---|
| services:
db:
container_name: postgres
image: postgres:${POSTGRES_VERSION}
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- POSTGRES_HOST_AUTH_METHOD
- POSTGRES_INITDB_ARGS
volumes:
- type: volume
source: pg_data
target: ${POSTGRES_VOLUMES_TARGET}
networks:
- backend
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U $${POSTGRES_USER:-postgres} -d $${POSTGRES_DB:-postgres} || exit 1",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
param-init:
container_name: param-init
image: implem/pleasanter:${PLEASANTER_VERSION}
volumes:
- ./app_data_parameters:/tmp/app_data_parameters:ro
- pleasanter_params:/app/App_Data/Parameters
entrypoint:
- sh
- -c
- cp -rf /tmp/app_data_parameters/. /app/App_Data/Parameters/ && echo "Parameters copied"
restart: "no"
network_mode: none
param-init-codedefiner:
container_name: param-init-codedefiner
image: implem/pleasanter:codedefiner
volumes:
- ./app_data_parameters:/tmp/app_data_parameters:ro
- codedefiner_params:/app/Implem.Pleasanter/App_Data/Parameters
entrypoint:
- sh
- -c
- cp -rf /tmp/app_data_parameters/. /app/Implem.Pleasanter/App_Data/Parameters/ && echo "Parameters copied"
restart: "no"
network_mode: none
pleasanter:
container_name: pleasanter
image: implem/pleasanter:${PLEASANTER_VERSION}
restart: unless-stopped
depends_on:
db:
condition: service_healthy
param-init:
condition: service_completed_successfully
ports:
- '50001:8080'
environment:
Implem.Pleasanter_Rds_PostgreSQL_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString}
Implem.Pleasanter_Rds_PostgreSQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString}
Implem.Pleasanter_Rds_PostgreSQL_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString}
volumes:
- pleasanter_params:/app/App_Data/Parameters
networks:
- backend
codedefiner:
container_name: codedefiner
image: implem/pleasanter:codedefiner
depends_on:
db:
condition: service_healthy
param-init-codedefiner:
condition: service_completed_successfully
environment:
Implem.Pleasanter_Rds_PostgreSQL_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString}
Implem.Pleasanter_Rds_PostgreSQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString}
Implem.Pleasanter_Rds_PostgreSQL_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString}
volumes:
- codedefiner_params:/app/Implem.Pleasanter/App_Data/Parameters
networks:
- backend
networks:
backend:
volumes:
pg_data:
name: ${COMPOSE_PROJECT_NAME:-default}_pg_data_volume
pleasanter_params:
name: ${COMPOSE_PROJECT_NAME:-default}_pleasanter_params_volume
codedefiner_params:
name: ${COMPOSE_PROJECT_NAME:-default}_codedefiner_params_volume
|
2. プリザンター再起動
-
プリザンターが起動中の場合は以下コマンドを実行し、プリザンターを停止します。
-
以下コマンドを実行し、パラメータ用volumeをクリアします。{{プロジェクトディレクトリ名}}はご利用環境に応じて適宜修正してください。なお初めて本手順を実行するなどパラメータ用volumeが存在しない場合はボリュームが存在しない旨のエラーとなりますが、3.以降を続行してください。
docker volume rm {{プロジェクトディレクトリ名}}_pleasanter_params_volume
・例:プロジェクトディレクトリが「pleasanter」の場合、以下コマンドとなります。
docker volume rm pleasanter_pleasanter_params_volume
-
以下コマンドを実行し、プリザンターを起動します。
docker compose up -d pleasanter
3. プリザンターログイン
-
ブラウザでプリザンターにアクセスし、ログイン画面でご利用のログインID、パスワードを入力してログインします。
-
設定したパラメータが適用されているか確認します。
4. パラメータ変更後にCodeDefinerを実行する場合
「システムログの拡張機能」の利用時などパラメータを設定後にCodeDefinerを実行する場合は以下手順で実行してください。
- 操作手順1. を行い、app_data_parametersに変更したパラメータファイルを格納します。
-
プリザンターが起動中の場合は以下コマンドを実行し、プリザンターを停止します。
-
以下コマンドを実行し、パラメータ用volumeをクリアします。{{プロジェクトディレクトリ名}}はご利用環境に応じて適宜修正してください。
docker volume rm {{プロジェクトディレクトリ名}}_codedefiner_params_volume
・例:プロジェクトディレクトリが「pleasanter」の場合、以下コマンドとなります。
docker volume rm pleasanter_codedefiner_params_volume
-
CodeDefinerを実行します。
docker compose run --rm codedefiner _rds
関連情報