プリザンターをすぐに試してみる
## 概要
いますぐプリザンターを試してみたい人向けのセットアップガイドです。ここでは3つの方法を紹介します。
|No.|方法|おすすめポイント|
|:-:|:--|:--|
|1|デモ環境ではじめる|セットアップ不要。サンプルデータ付き。|
|2|Dockerではじめる|ずっと使える。機能制限なし。|
|3|Pleasanter.netフリープランではじめる|ずっと使える。セットアップ不要。|
以下では、技術的な詳細をできる限り省き、手順だけをまとめています。
## 1. デモ環境ではじめる
デモ環境では、プリザンターを手軽に試すことができます。デモ環境の利用方法は以下のPDFを参照ください。
[解説PDFを読む](https://pleasanter.org/downloads/get-started-pleasanter.pdf)
## 2. Dockerではじめる
Dockerを使ってセットアップすると、機能制限のないプリザンター(Community Edition)をずっと使えます。手順は、以下の「詳しい説明を読む」をクリックしてください。
<details>
<summary>詳しい説明を読む</summary>
## 概要
下記既定値での環境設定ですぐにDocker版プリザンターを利用する手順について説明します。
|No|設定内容|パラメータ|設定値|備考|
|---|---|---|---|---|
|1|PostgreSQLのバージョン|POSTGRES_VERSION|17||
|2|PostgreSQLの管理用ユーザのパスワード|POSTGRES_PASSWORD|SetSaPWD||
|3|Sa接続文字列のパスワード|Implem_Pleasanter_Rds_PostgreSQL<br>_SaConnectionString内のPWD|SetSaPWD|2と同じ値を設定|
|4|Owner接続文字列のパスワード|Implem_Pleasanter_Rds_PostgreSQL<br>_OwnerConnectionString内のPWD|SetAdminsPWD||
|5|User接続文字列のパスワード|Implem_Pleasanter_Rds_PostgreSQL<br>_UserConnectionString内のPWD|SetUsersPWD||
|6|プリザンターのバージョン|PLEASANTER_VERSION|latest|利用時点の最新版を取得|
|7|プリザンターの言語|CodeDifinerの/lオプション|"ja"||
|8|プリザンターのタイムゾーン|CodeDifinerの/zオプション|"Asia/Tokyo"||
## 手順
手順の流れは以下の通りです。
1. [Docker実行環境の準備](#preq)
1. [プロジェクトディレクトリの作成と移動](#projdir)
1. [ファイルの作成](#makefiles)
1. [CodeDefinerの実行](#runcodedefiner)
1. [プリザンターの起動・終了](#runpleasanter)
<a id="preq"></a>
### 1. Docker実行環境の準備
ご利用のOSに応じたDocker実行環境(Docker EngineやDocker Desktop等)を準備します。詳細は以下の[Docker公式マニュアル](https://docs.docker.com/)をご参照ください。
- [Docker Engine \| Docker Docs](https://docs.docker.com/engine/)
- [Docker Desktop \| Docker Docs](https://docs.docker.com/desktop/)
<a id="projdir"></a>
### 2. プロジェクトディレクトリの作成と移動
以下のコマンドを実行し任意の場所にプロジェクトディレクトリを作成します。以下コマンドではプロジェクトディレクトリ名を「pleasanter」としましたが他の名称に変更しても問題ありません。
```
mkdir ./pleasanter
cd ./pleasanter
```
<a id="makefiles"></a>
### 3. ファイルの作成
プロジェクトディレクトリ内に「.env」、「compose.yaml」という2つのファイルを作成します。
Windows(CMD)の場合
```
type nul > .env
type nul > compose.yaml
```
Windows(PowerShell)の場合
```
New-Item .env -ItemType File -Force
New-Item compose.yaml -ItemType File -Force
```
macOS、Linuxの場合
```shell
touch .env
touch compose.yaml
```
#### .env
テキストエディタで.envを開き、以下の内容を貼り付け保存します。
```text
POSTGRES_VERSION=17
POSTGRES_VOLUMES_TARGET=/var/lib/postgresql/data
POSTGRES_USER=postgres
POSTGRES_PASSWORD=SetSaPWD
POSTGRES_DB=postgres
POSTGRES_HOST_AUTH_METHOD=scram-sha-256
POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256"
PLEASANTER_VERSION=latest
Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString="Server=db;Database=postgres;UID=postgres;PWD=SetSaPWD"
Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString="Server=db;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD"
Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString="Server=db;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD"
```
#### compose.yaml
テキストエディタで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}
pleasanter:
container_name: pleasanter
image: implem/pleasanter:${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
```
<a id="runcodedefiner"></a>
### 4. CodeDefinerの実行
プロジェクトディレクトリで、以下のコマンドでCodeDefinerを実行します。
```
docker compose run --rm codedefiner _rds /y /l "ja" /z "Asia/Tokyo"
```
<a id="runpleasanter"></a>
### 5. プリザンターの起動・終了
#### プリザンターを起動する
1. プロジェクトディレクトリで、以下のコマンドを実行しプリザンターを起動します。
```shell
docker compose up -d pleasanter
```
1. Webブラウザで[http://localhost:50001](http://localhost:50001)を開いてください。
1. ログイン画面が表示されたら、次の各情報を入力してください。
|ログインID|初期パスワード|
|:-:|:-:|
|Administrator|pleasanter|

1. 安全なパスワードに変更してください。

#### プリザンターを終了する
1. Webブラウザを終了してください。
1. プロジェクトディレクトリで、コンテナを停止してください。
```
docker compose stop
```
#### プリザンターをもう一度起動する
1. プロジェクトディレクトリで、コンテナを起動してください。
```shell
docker compose start
```
1. Webブラウザで[http://localhost:50001](http://localhost:50001)を開いてください。
#### ハンズオン
プリザンターにログイン出来たら [ハンズオン形式のマニュアル](https://www.pleasanter.org/ja/manual?category=0190)をお試しください。
</details>
## 3. Pleasanter.netフリープランではじめる
Pleasanter.netフリープランでは、セットアップの手間なしで、プリザンターをずっと使えます。Pleasanter.netフリープランの利用方法は以下のPDFを参照ください。
[解説PDFを読む](https://pleasanter.org/downloads/pleasanter_net_start.pdf)

