インストール
概要
Windows OS や Linux上で Docker の環境を構築し、
TimeTracker NX のサーバーをインストールするまでの一連の操作をご説明します。
また、必要に応じて SSL証明書の適用などをご検討の方はオプション設定を参照ください。
環境の構築手順
本章では、本番向け環境の構築手順をご紹介します。
-
ローカルにDocker EngineとDocker Composeをインストールし ます。
以下を参考にインストールしてください。
Docker Engine のインストール方法 -
ローカルに
compose.yml
ファイルを作成し、以下のリンク先の内容を転記します。
構築する環境により以下の記述例になります。評価/本番の違いは「関係する Docker イメージ」を参照下さい。SQL Server 向け PostgreSQL 向け ■ ■ 転記した内容に対し、以下の箇所を変更してください。
- <your password>(複数個所):任意のパスワード(パスワード強度は利用するDB管理ソフトに従います)
- <tag>: 「DockerHub:timetracker」のTag
例)PostgreSQLの場合:image: densocreate/timetracker:7.0-linux-postgres
-
compose.yml
ファイルを配置したディレクトリに、nginx.conf
ファイルを配置します。
「nginx.confファイルの記述例」 -
appsettings.json
をcompose.yml
ファイルを配置したディレクトリに配置します。-
以下のコマンドを実行してください。
sudo docker run --rm --entrypoint=cat densocreate/timetracker:<Tag> /usr/local/timetracker/appsettings.json > <compose.ymlファイルを配置したディレクトリ>/appsettings.json
利用する環境に合わせて以下を変更してください。
- <compose.ymlファイルを配置したディレクトリ>
- <Tag>: 「DockerHub:timetracker」の Tag
-
作成した
appsettings.json
に対し、以下の「+」部分("192.168.0.0/16")を追加してください。{
"AppSettings": {
・・・
}.
"ForwardedHeaders": {
"KnownNetworks": [
+ "192.168.0.0/16"
]
・・・
}
}
-
-
以下のコマンドを実行してください。
echo 'vm.overcommit_memory=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p -
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を使用した接続を行う場合、以下の操作を実施して下さい。
-
compose.yml
ファイルを配置したディレクトリに「crtファイル」と「keyファイル」を配置します。 -
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
``` -
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;
+ }
+ }
}