メインコンテンツまでスキップ
バージョン: Current

インストール

概要

Windows OS や Linux上で Docker の環境を構築し、
TimeTracker NX のサーバーをインストールするまでの一連の操作をご説明します。

また、必要に応じて SSL証明書の適用などをご検討の方はオプション設定を参照ください。

評価用環境の構築方法は「DockerHub:timetracker」を参照ください。

環境の構築手順

本章では、本番向け環境の構築手順をご紹介します。

  1. ローカルにDocker EngineとDocker Composeをインストールします。
    以下を参考にインストールしてください。
    Docker Engine のインストール方法

  2. ローカルに compose.yml ファイルを作成し、以下のリンク先の内容を転記します。
    構築する環境により以下の記述例になります。

    評価/本番の違いは「関係する Docker イメージ」を参照下さい。
    SQL Server 向けPostgreSQL 向け

    転記した内容に対し、以下の箇所を変更してください。

    • <your password>(複数個所):任意のパスワード(パスワード強度は利用するDB管理ソフトに従います)
    • <tag>: 「DockerHub:timetracker」のTag
      例)PostgreSQLの場合:image: densocreate/timetracker:7.0-linux-postgres
  3. compose.ymlファイルを配置したディレクトリに、nginx.confファイルを配置します。
    nginx.confファイルの記述例

  4. appsettings.jsoncompose.ymlファイルを配置したディレクトリに配置します。

    1. 以下のコマンドを実行してください。

      sudo docker run --rm --entrypoint=cat densocreate/timetracker:<Tag> /usr/local/timetracker/appsettings.json > <compose.ymlファイルを配置したディレクトリ>/appsettings.json

      利用する環境に合わせて以下を変更してください。

    2. 作成した appsettings.json に対し、以下の「+」部分("192.168.0.0/16")を追加してください。

      {
        "AppSettings": {
            ・・・
        }.
        "ForwardedHeaders": {
          "KnownNetworks": [
      +      "192.168.0.0/16"
          ]
          ・・・
        }
      }
  5. 以下のコマンドを実行してください。  

    echo 'vm.overcommit_memory=1' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  6. compose.ymlファイルを配置したディレクトリに移動し、コンテナを起動します。

    sudo docker compose up -d

これで TimeTracker NX 環境を構築することができました。
ここからは、TimeTracker NX を利用するための初期設定を実施します。

TimeTracker NX の初期設定

http://<サーバー名>:<ポート番号>/にてTTNXにアクセスできます。

  • <ポート番号>は、Dockerの設定ファイルで指定した値です。
    サンプルでは「80」です。
  • Dockerを配置したPCからアクセスする場合:「http://localhost:80/」

アクセスするとセットアップ画面が表示されるますので、ライセンスキーを入力してください。
詳細な手順はリンク先を参照ください。
セットアップする

オプション設定

HTTPS(SSL)の設定

SSLを使用した接続を行う場合、以下の操作を実施して下さい。

以下に説明する例の「+」部分を追記してください。
  1. compose.ymlファイルを配置したディレクトリに「crtファイル」と「keyファイル」を配置します。  

  2. compose.ymlファイルの nginxセクションを以下のように変更します。

      nginx:
        image: nginx:latest
        ports:
          - 80:80
      +   - 443:443
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
      +   - ./<crtファイル名>:/etc/nginx/ssl/<crtファイル名>
      +   - ./<keyファイル名>:/etc/nginx/ssl/<keyファイル名>
        depends_on:
          - web
      ```

  3. nginx.confファイルに以下の記述を追加します。

      ・・・
      http {
          ・・・
          server {
              listen        80;
              ・・・
          }

      +   server {
      +       listen 443 ssl;
      +
      +       ssl_certificate /etc/nginx/ssl/\<crtファイル名\>;
      +       ssl_certificate_key /etc/nginx/ssl/\<keyファイル名\>;
      +
      +       ssl_protocols TLSv1.2 TLSv1.3;
      +       ssl_ciphers HIGH:!aNULL:!MD5;
      +
      +       location / {
      +           proxy_pass         http://web:8080/;
      +           proxy_http_version 1.1;
      +           proxy_set_header   Upgrade $http_upgrade;
      +           proxy_set_header   Connection $connection_upgrade;
      +           proxy_set_header   Host $host;
      +           proxy_cache_bypass $http_upgrade;
      +           proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
      +           proxy_set_header   X-Forwarded-Proto $scheme;
      +       }
      +   }
      }