変更あり
文中の「データベース初期化クエリ」は記述から削除しました。(プリザンターバージョンアップに伴う)
はじめに
このエントリはこちらの続きです。
プリザンターを公式Dockerイメージで動かす - Qiita
今回はDocker Composeを使って楽に動かします。
準備
必要なファイルを用意します。
データベース初期化クエリ- 環境変数ファイル
- docker-compose.yml
1. データベース初期化クエリの作成
データベース初期化クエリはComposeで動かす場合でも必要ですので 前回 を参考に用意してください。
-
環境変数を指定するファイルの作成
前回と指定する内容は同じですが記述が少し変わります。
またPostgreSQLの初期化に必要な設定値も一緒に記述します。PWD=<Any ... Password>
は接続先DBの各ユーザのパスワードですので前回同様それぞれ書きかえてください。
POSTGRES_HOST_AUTH_METHOD
とPOSTGRES_INITDB_ARGS
が前回から増えています。認証方式を明示的に指定するようにしています。変更したら
.env
として保存しましょう。Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString='Server=db;Database=postgres;UID=postgres;PWD=<Any Sa password>' Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=<Any Owner password>' Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_User;PWD=<Any User password>' POSTGRES_USER=<Any Sa User> POSTGRES_PASSWORD=<Any Sa Password> POSTGRES_DB=<Any system db name> POSTGRES_HOST_AUTH_METHOD=scram-sha-256 POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256"
-
docker-compose.yml
version: '3' services: db: container_name: postgres image: postgres:15 ports: - "5432:5432" environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_HOST_AUTH_METHOD - POSTGRES_INITDB_ARGS pleasanter: container_name: pleasanter image: implem/pleasanter 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} 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}
-
ファイル配置はこうなります。
. +-- .env +-- docker-compose.yml
実行
準備が整いましたので実行していきます。
-
CodeDefinerの実行
docker compose run codedefiner _rds
-
Peasanter起動
docker compose run -p 50001:80 pleasanter
アクセスする
Pleasanterの起動時に-p
で指定している50001
がアクセス先のポート番号です。お使いの環境に合わせて変更してください。
ではアクセスします
http://localhost:50001/
いかがですか? いつものログイン画面が表示されましたでしょうか。
初期ユーザ、初期パスワードを入力します。
- ユーザ:
Administrator
- パスワード:
pleasanter
ログインしますとパスワード変更を求められますので入力してください。
終了する
Pleasanterを起動した画面でCtrl-C
とするとコンテナを終了できます。
作成したリソースを削除して終了します。
docker compose down -v --remove-orphans
docker ps
やdocker volume ls
で確認すると綺麗に消えているのがわかります。
解説
前回のエントリで実行手順はこうでした。
- Dockerネットワークを作成
- PostgreSQL起動
- CodeDefiner実行
- Pleasanter起動
Docker Composeでも内部的に実行されていることは前回と同じになります。
CodeDefinerを実行すると、1, 2, 3 と順番に実行されます。
またコマンドラインのパラメータの数が圧倒的に少なく、docker-compose.ymlに記述されていますので打ち間違いの心配もぐっと減ります。
あとがき
ますますプリザンターを手軽に試せるようになったのでどんどん試してみてください。