コンテンツにスキップ

Community EditionからEnterprise Editionへのアップグレード手順(Docker利用/DBにMySQLを利用)

Docker版プリザンターについて

以下では、Docker Hubで公開されているプリザンターの公式Dockerイメージを利用します。

implem/pleasanter - Docker Image | Docker Hub

概要

データベースにMySQLを指定して、Community EditionからEnterprise Editionへアップグレードする手順について説明します。

注意事項

  1. Community EditionからEnterprise Editionにアップグレードすると以下の動作となります。
  2. 「ライセンス」が商用ライセンスになります。ライセンスは「共通機能:バージョン」画面で確認できます。
  3. 「分類項目」、「数値項目」、「日付項目」、「説明項目」、「チェック項目」、「添付ファイル項目」の利用数を拡張することができます。
  4. 契約した「年間サポートサービスプラン」に応じてユーザ登録数の上限が設定され、上限を超えてユーザを登録することができません。
  5. Pleasanter Extensions(Pleasanter Site Visualizer、Pleasanter Code Assist、Operations Tools、Development Tools)が利用可能になります。
  6. 本ページの手順は、プリザンターをすぐに試したいユーザのために、MySQLコンテナをプリザンターと同一のDocker構成に含めた複数コンテナ構成を採用しています。この構成は本番運用を想定したものではありません。
  7. 本番運用では、データベースコンテナが性能上のボトルネックになります。別ホスト上のデータベースとすることを強く推奨します。

前提条件

  1. 本手順は、以下のマニュアルの手順通り実施し、パラメータファイルを変更して起動できることを前提としています。
    「Dockerイメージを使用しパラメータを既定値から変更して起動する」

操作手順

1. プリザンターのバージョンアップ

アップグレードの前に、以下の手順に従ってバージョンアップを実施してください。

「Dockerイメージのプリザンターをバージョンアップする」

2. ライセンスファイルの格納

  1. コンテナを停止します。以下のコマンドを実行してください。

    docker compose stop
    
  2. app_data_parametersフォルダと同じ階層にlicenseフォルダを新規作成してください。

  3. ライセンスパックに含まれる「Implem.License.dll」をlicenseフォルダ内へコピーしてください。

    フォルダ構成は以下の通りです。

    📁pleasanter
     +-- 📁app_data_parameters
     |   +-- 📁拡張機能用フォルダ
     |   |   +-- 📄拡張機能用ファイル
     |   |
     |   +-- 📄パラメータファイル
     |
     +-- 📁license                    ←新規作成
     |    +-- 📄Implem.License.dll    ←ここに配置
     |
     |-- 📄.env
     |-- 📄compose.yaml
    
  4. PleasanterとCodeDefinerからImplem.License.dllを参照できるように、compose.yamlを以下のように編集します。

    以下はcompose.yamlの抜粋です。

    compose.yaml(抜粋)
    services:
      pleasanter:
        # 中略
        volumes:
          - pleasanter_params:/app/App_Data/Parameters
          - ./license/Implem.License.dll:/app/Implem.License.dll:ro  #←追記
        # 中略
      codedefiner:
        # 中略
        volumes:
          - codedefiner_params:/app/Implem.Pleasanter/App_Data/Parameters
          - ./license/Implem.License.dll:/app/Implem.CodeDefiner/Implem.License.dll:ro  #←追記
    
    サービス 配置先
    pleasanter /app/Implem.License.dll
    codedefiner /app/Implem.CodeDefiner/Implem.License.dll
    compose.yaml(全体)
    services:
      db:
        container_name: mysql
        image: mysql:${MYSQL_VERSION}
        environment:
          - MYSQL_ROOT_PASSWORD
        volumes:
          - type: volume
            source: my_data
            target: /var/lib/mysql
        healthcheck:
          test: mysqladmin ping -h 127.0.0.1 -u root -p${MYSQL_ROOT_PASSWORD}
          interval: 10s
          timeout: 10s
          retries: 6
        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}
        restart: unless-stopped
        depends_on:
          db:
            condition: service_healthy
          param-init:
            condition: service_completed_successfully
        ports:
          - '50001:8080'
        environment:
          Implem.Pleasanter_Rds_MySQL_SaConnectionString: ${Implem_Pleasanter_Rds_MySQL_SaConnectionString}
          Implem.Pleasanter_Rds_MySQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_MySQL_OwnerConnectionString}
          Implem.Pleasanter_Rds_MySQL_UserConnectionString: ${Implem_Pleasanter_Rds_MySQL_UserConnectionString}
        volumes:
          - pleasanter_params:/app/App_Data/Parameters
          - ./license/Implem.License.dll:/app/Implem.License.dll:ro
        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_MySQL_SaConnectionString: ${Implem_Pleasanter_Rds_MySQL_SaConnectionString}
          Implem.Pleasanter_Rds_MySQL_OwnerConnectionString: ${Implem_Pleasanter_Rds_MySQL_OwnerConnectionString}
          Implem.Pleasanter_Rds_MySQL_UserConnectionString: ${Implem_Pleasanter_Rds_MySQL_UserConnectionString}
        volumes:
          - codedefiner_params:/app/Implem.Pleasanter/App_Data/Parameters
          - ./license/Implem.License.dll:/app/Implem.CodeDefiner/Implem.License.dll:ro
        networks:
          - backend
    networks:
      backend:
    volumes:
      my_data:
        name: ${COMPOSE_PROJECT_NAME:-default}_my_data_volume
      pleasanter_params:
        name: ${COMPOSE_PROJECT_NAME:-default}_pleasanter_params_volume
      codedefiner_params:
        name: ${COMPOSE_PROJECT_NAME:-default}_codedefiner_params_volume
    

3. コンテナの再作成と再起動

  1. Enterprise Editionにアップグレードしたコンテナの再作成と再起動を行います。以下のコマンドを実行してください。

    docker compose up -d pleasanter
    

4. アップグレードの確認

  1. ブラウザで以下のURLを開いてください。

    http://localhost:50001
    
  2. プリザンターにログインしてください。

  3. 「共通機能:バージョン」画面を開きます。ナビゲーションメニューの「ヘルプ」をクリックし、「バージョン」をクリックしてください。
  4. 以下の3点を確認してください。

    1. ライセンスが「商用ライセンス」となっていること
    2. ライセンス期限が正しいこと
    3. 使用者が正しいこと

項目拡張作業

Community Editionでは「分類項目」、「数値項目」、「日付項目」、「説明項目」、「チェック項目」、「添付ファイル項目」の各項種別毎に26個、計156項目が利用できますが、Enterprise Editionでは項目を拡張することができます。

DB Enterprise Editionで利用できる項目の上限
PostgreSQL 6つの項目種別の合計で最大900個まで
SQL Server 6つの項目種別の合計で最大900個まで
MySQL1 6つの項目種別の合計で最大256個まで

項目拡張を行う場合は「Docker利用時の項目拡張」の手順に沿って作業を行ってください。

関連情報


  1. プリザンター1.4.9.0以降で使用できます。 ↩