ユーザマニュアル





2024/12/03

MANUAL

Dockerで起動する

## 前提条件 1. 本手順ではデータベースとしてPostgreSQLを使用します。MySQLを使用する手順は「[Dockerイメージを使用しDBにMySQLを指定して起動する](setup-by-docker-image-and-mysql)」を参照してください。 ## 準備 プリザンターの公式Dockerイメージを使ってプリザンターを起動する手順を説明します。 [https://hub.docker.com/r/implem/pleasanter](https://hub.docker.com/r/implem/pleasanter) 環境変数をファイルベースで指定するためのファイルと Compose ファイルを作成します。 ### 環境変数を指定するファイル PostgreSQLを初期化する initdb に使われるユーザやパスワードなどの環境変数とデータベース接続文字列の設定をファイルに記述します。 データベース接続文字列についてのマニュアルです。 [パラメータ設定:Rds.json](rds-json) SaConnectionString は最初にPostgreSQLにスーパーユーザで接続するための設定が一行で表現されています。PostgreSQLの環境変数の内容と SaConnectionString に記述されている内容を合わせる必要があります。 |名称|内容| |---|---| |Server|Compose ファイルのサービス名 (db) に設定する| |Database|環境変数の POSTGRES_DB と揃える| |UID|環境変数の POSTGRES_USER と揃える| |PWD|環境変数の POSTGRES_PASSWORD と揃える| POSTGRES ではじまる環境変数はPostgreSQLのDocker公式イメージが使用します。コンテナの初期化時に initdb が実行され、環境変数の値を使ってPostgreSQLの初期設定が行われます。 [postgres - Official Image | Docker Hub](https://hub.docker.com/_/postgres) [docker-library/postgres: Docker Official Image packaging for Postgres](https://github.com/docker-library/postgres) OwnerConnectionString と UserConnectionString はそれぞれのユーザで接続するための設定が一行で表現されています。 |名称|内容| |---|---| |PWD|任意のパスワード文字列。Owner と User のパスワードは別々が望ましい| 実際のファイルの例です。 {{ ... }} は適宜修正してください。 **.env** として保存します。 ``` POSTGRES_USER={{Sa User}} POSTGRES_PASSWORD={{Sa Password}} POSTGRES_DB={{System DB}} POSTGRES_HOST_AUTH_METHOD=scram-sha-256 POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256 --encoding=UTF-8" Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString='Server=db;Database={{System DB}};UID={{Sa User}};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}}' ``` ### Docker Compose ファイル compose.yaml ファイルを作成します。 {{Version}}は、DockerHubで公開されているプリザンターのバージョンを指定してください。(例:latest,1.4.8.1 等) ```yaml services: db: container_name: postgres image: postgres:16 environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_HOST_AUTH_METHOD - POSTGRES_INITDB_ARGS volumes: - type: volume source: pg_data target: /var/lib/postgresql/data pleasanter: container_name: pleasanter image: implem/pleasanter:{{Version}} depends_on: - db 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} codedefiner: container_name: codedefiner image: implem/pleasanter:codedefiner depends_on: - db 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: pg_data: name: ${COMPOSE_PROJECT_NAME:-default}_pg_data_volume ``` ファイル配置は以下のようになります。 ```text . |-- .env |-- compose.yaml ``` ## イメージの取得 ```bash docker compose pull ``` ## CodeDefinerの実行 ### ver.1.4.5まで ```bash docker compose run --rm codedefiner _rds ``` ### ver.1.4.6以降 ```bash docker compose run --rm codedefiner _rds /l "<言語>" /z "<タイムゾーン>" ``` |引数|設定例|説明| |:--|:--|:--| |/l|ja|Service.jsonのDefaultLanguageの値を書き換えます(※1)| |/z|Asia/Tokyo|Service.jsonのTimeZoneDefaultの値を書き換えます(※1)| (※1) 言語、タイムゾーンは以下マニュアルページを参照ください。 [FAQ:プリザンターでサポートしている言語とタイムゾーンのパラメータの設定値を知りたい](https://pleasanter.org/manual/faq-supported-language) 日本語環境でご利用する場合は以下コマンドとなります。 ```bash docker compose run --rm codedefiner _rds /l "ja" /z "Asia/Tokyo" ``` 途中で 「Type "y" (yes) if the license is correct, otherwise type "n" (no).」 と表示されたら **y** を入力してください。 ※コンソールログに以下のようにバージョンが出力されます。ここで表示されるバージョンは常に「DockerHubで公開されている最新のプリザンターのバージョン」となります。このコンソールログ表示の仕様は、compose.yamlの{{Version}}に最新よりも前のバージョンを指定した場合も同様ですが、データベースは{{Version}}に準拠した内容で作成されますので、プリザンターの動作上の問題はありません。 ```bash <INFO> Starter.Main: Implem.CodeDefiner 1.4.10.1 ``` ## プリザンター起動 コンテナを作成、プリザンターを起動します。 ```bash docker compose up -d pleasanter ``` ブラウザでアクセスします。 <http://localhost:50001> ログイン画面にて「ログインID: Administrator」「初期パスワード: pleasanter」を入力します。 ログイン後、パスワードの変更を求められますので適宜パスワードを設定してください。 ## コンテナの停止と削除 コンテナの停止は以下のコマンドで行います。 ```bash docker compose stop ``` 停止したコンテナを再開する場合は以下のコマンドを実行します。 ```bash docker compose start ``` コンテナを停止してもDBデータは削除されません。再開する際にはデータがそのまま利用できます。 --- コンテナの削除は以下のコマンドで行います。 コンテナを削除してもDBデータ(ボリューム)は削除されません。 ```bash docker compose down ``` なおコンテナを削除した場合は、再開はできません。起動したい場合はコンテナを作成してください。 以下のコマンドを実行します。これによりDBのコンテナも一緒に作成され残っているDBデータもそのまま利用できます。 ```bash docker compose up -d pleasanter ``` コンテナを削除する時に同時にデータ(ボリューム)を削除する場合はボリュームを削除するオプションを付けて実行します。 ```bash docker compose down -v ``` ## 関連情報 [FAQ:DockerHubからpullしたプリザンター1.4.0.0を起動したが、ブラウザで応答がない](faq-docker-run-not-started)
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.