Dockerイメージを使用しパラメータを既定値から変更して起動する
## 概要
プリザンターの公式Dockerイメージを使ってプリザンターを利用するにあたり、ご利用環境に合わせて設定したパラメータファイルを適用する手順を説明します。
## はじめに
本手順は、以下マニュアルの手順通りにDockerが利用できることを前提としています。
・[Dockerで起動する](getting-started-pleasanter-docker)
未読の場合は先に上記マニュアルを参照し、プリザンターの公式Dockerイメージを使ってプリザンターを起動できることを確認してください。
## 注意事項
1. ver1.4.5以前で実施する場合はCodeDefinerのコマンドが変更されているため、以下ページを参照してください。
[ver1.4.6以降で初回インストール時のCodeDefinerの手順について](https://pleasanter.org/ja/manual/codedefiner-changed-steps)
1. 本ページの手順は、プリザンターをすぐに試したいユーザのために、PostgreSQLコンテナをプリザンターと同一のDocker構成に含めた複数コンテナ構成を採用しています。この構成は**本番運用を想定したものではありません**。
1. 本番運用では、データベースコンテナが性能上のボトルネックになります。 **別ホスト上のデータベース** とすることを強く推奨します。
## 前提条件
1. 本手順ではデータベースとしてPostgreSQLを使用します。他データベースを使用する手順は以下を参照してください。
・[Dockerイメージを使用しDBにMySQLを指定して起動する](setup-by-docker-image-and-mysql)
・[Dockerイメージを使用しDBにSQL Serverを指定して起動する](setup-by-docker-image-and-sql-server)
## 操作手順
### 1. ファイル配置、フォルダ作成
プロジェクトディレクトリ(以下例ではpleasanter)にフォルダを以下のように構成し、ファイルを配置します。
```text
📁pleasanter
+-- 📁app_data_parameters
| +-- 📁拡張機能用フォルダ
| | +-- 📄拡張機能用ファイル
| |
| +-- 📄パラメータファイル
|
|-- 📄.env
|-- 📄compose.yaml
```
|フォルダ<br>またはファイル|説明|
|---|---|
|app_data_parameters|ご利用環境に合わせて設定したパラメータファイルを格納するためのフォルダ。拡張SQLや拡張スクリプトなどの拡張機能用フォルダおよび拡張機能用ファイルも必要に応じて本フォルダに格納する。|
|.env|データベース接続情報などの設定情報や環境変数を記述したファイル|
|compose.yaml|Docker Composeの設定ファイル|
### 1-1. app_data_parametersフォルダの作成
1. プロジェクトディレクトリで以下コマンドを実行し、app_data_parametersフォルダを作成します。<br>
```bash
mkdir ./app_data_parameters
```
### 1-2. パラメータファイルの準備
パラメータをご利用環境に合わせて設定したい場合は以下手順でファイルを準備してください。
1. [ダウンロードセンター](https://pleasanter.org/dlcenter)から、プリザンターをダウンロードします。特段理由がない場合は最新バージョンをダウンロードしてください。過去にリリースした特定のバージョンが必要な場合は、該当のバージョンのプリザンターをダウンロードしてください。
2. zipファイルを任意の場所に解凍します。
3. 解凍したフォルダ内にある「\pleasanter\Implem.Pleasanter\App_Data\Parameters」から変更したいパラメータを1-1で作成したapp_data_parametersフォルダ配下にコピーします。
4. パラメータの内容を適宜変更し、更新します。
5. 拡張SQL(ExtendedSqls)や拡張スクリプト(ExtendedScripts)などの拡張機能を設定する場合は拡張機能用のフォルダをapp_data_parametersにコピーし、コピーした各フォルダ内に拡張機能用ファイルを作成します。
### 1-3 .envファイル
1. 以下コマンドを実行し、.envファイルを作成します。
・Windows(コマンドプロンプト)
```bash
type nul > .env
```
・Winodws(PowerShell)
```bash
New-Item .env -ItemType File -Force
```
・Linux、macOS
```bash
touch .env
```
1. テキストエディタで.envを開き、以下の内容を張り付け保存します。{{ ... }} はご利用環境に合わせて適宜修正してください。各設定内容については「 [Dockerで起動する](getting-started-pleasanter-docker) 」の.envファイルに関する説明を参照してください。
```bash
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 ファイル
1. 以下コマンドを実行し、compose.yaml ファイルを作成します。
・Windows(コマンドプロンプト)
```bash
type nul > compose.yaml
```
・Winodws(PowerShell)
```bash
New-Item compose.yaml -ItemType File -Force
```
・Linux、macOS
```bash
touch compose.yaml
```
1. テキストエディタでcompose.yamlを開き、以下の内容を張り付け保存します。
```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
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}
depends_on:
db:
condition: service_started
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_started
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. プリザンター再起動
1. プリザンターが起動中の場合は以下コマンドを実行し、プリザンターを停止します。
```bash
docker compose down
```
1. 以下コマンドを実行し、パラメータ用volumeをクリアします。{{プロジェクトディレクトリ名}}はご利用環境に応じて適宜修正してください。なお初めて本手順を実行するなどパラメータ用volumeが存在しない場合はボリュームが存在しない旨のエラーとなりますが、3.以降を続行してください。
```bash
docker volume rm {{プロジェクトディレクトリ名}}_pleasanter_params_volume
```
・例:プロジェクトディレクトリが「pleasanter」の場合、以下コマンドとなります。
```bash
docker volume rm pleasanter_pleasanter_params_volume
```
1. 以下コマンドを実行し、プリザンターを起動します。
```bash
docker compose up -d pleasanter
```
### 3. プリザンターログイン
1. ブラウザでプリザンターにアクセスし、ログイン画面でご利用のログインID、パスワードを入力してログインします。
<http://localhost:50001>
2. 設定したパラメータが適用されているか確認します。
## パラメータ変更後にCodeDefinerを実行する場合
[システムログの拡張機能](/ja/manual/syslog-extension)の利用時などパラメータを設定後にCodeDefinerを実行する場合は以下手順で実行してください。
1. 操作手順 1. を行い、app_data_parametersに変更したパラメータファイルを格納し、.env、compose.yamlを作成します。
1. プリザンターが起動中の場合は以下コマンドを実行し、プリザンターを停止します。
```bash
docker compose down
```
1. 以下コマンドを実行し、パラメータ用volumeをクリアします。{{プロジェクトディレクトリ名}}はご利用環境に応じて適宜修正してください。
```bash
docker volume rm {{プロジェクトディレクトリ名}}_codedefiner_params_volume
```
・例:プロジェクトディレクトリが「pleasanter」の場合、以下コマンドとなります。
```bash
docker volume rm pleasanter_codedefiner_params_volume
```
1. CodeDefinerを実行します。
```bash
docker compose run --rm codedefiner _rds
```
## 関連情報
[Dockerで起動する](getting-started-pleasanter-docker)
[Dockerイメージを使用しDBにMySQLを指定して起動する](setup-by-docker-image-and-mysql)
[Dockerイメージを使用しDBにSQL Serverを指定して起動する](setup-by-docker-image-and-sql-server)
[Dockerイメージのプリザンターをバージョンアップする](version-up-pleasanter-docker)
<div id="ManualList"><ul><li><a href="/ja/manual/syslog-extension">システムログの拡張機能</a><span>2024/09/13 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />



