ThingWorx Docker の設定
ThingWorx Docker を使用して作業をただちに開始するには、お使いのコンテンツプロバイダのデフォルト設定を使用します。Docker Compose ファイルで自分のサイト用に設定をカスタマイズすることもできます。このセクションでは、各コンテンツプロバイダの Docker Compose ファイルを設定する方法について説明します。
HTTP Secure (HTTPS) および HTTP の設定
提供されている ThingWorx イメージで、デフォルトでは、HTTP が有効になり HTTPS が無効になっています。これはテストおよび開発には便利ですが、本番環境では使用できません。これを本番環境で使用する場合、ThingWorx Platform を適切にセキュリティ保護するために HTTPS を有効にすることを強くお勧めします。
* 
HTTPS が有効になっている場合、コンテナを開始するためにはキーストアを用意しなければなりません。これがない場合、コンテナは終了します。
Docker イメージで HTTPS を設定するには、以下の手順に従います。
1. HTTPS 証明書が含まれているキーストアファイルを、Docker がマウントされている ThingworxPlatform フォルダにコピーします。ボリュームマウントは docker-compose ファイルが基準になります。この場所にログとコンフィギュレーションファイルが保管されてコンテナでの永続化が有効になります。
デフォルトでは、キーストアには keystore.jks という名前を付けなければなりません。後から説明する環境変数 SSL_KEYSTORE_FILENAME を使用してこれをオーバーライドできます。
Docker Compose ファイルの例として、ここでは以下のファイルをコピーします。
./thingworx-storage/shared/ThingworxPlatform
2. Docker Compose ファイルの環境変数 SSL_KEYSTORE_PASSWORD がキーストアの暗号化パスワードに設定され、HTTPS_ENABLEDtrue に設定されていることを確認します。
3. ポート 8443:8443 が Docker Compose ファイルの ports セクションで指定されていることを確認します。
HTTP を有効にするには、以下の手順に従います。
1. Docker Compose ファイルで、要件に応じて、環境変数 HTTP_ENABLEDtrue または false に設定されていることを確認します。
デフォルトは true です。
2. ポート 8080:8080 が Docker Compose ファイルの ports セクションで指定されていることを確認します。
* 
ファイル内の PASSWORD が表示されている部分を、ThingWorx またはデータベースのパスワードに置き換えなければなりません。
H2
H2 用のいくつかの基本設定を含む Docker Compose ファイルの例を以下に示します。
version: '2.2'
services:
platform:
image: thingworx/platform-h2:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
volumes:
- "./thingworx-h2-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-h2-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-h2-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-h2-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
初期メモリは 2 GB に設定され、最大メモリは 4 GB に設定されています。
ファイルの environment セクションに以下のオプションを追加することで、このインスタンスのコンフィギュレーションを制御できます。
変数名
デフォルト
コメント
INITIAL_HEAP
数値
2
インスタンスの初期メモリサイズを GB で設定します。
MAX_HEAP
数値
4
インスタンスの最大メモリサイズを GB で設定します
ENABLE_HTTP
true/false
true
Tomcat で HTTP コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護しません。
ENABLE_HTTPS
true/false
false
Tomcat で HTTPS コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護します。キーストアも用意する必要があり、SSL_KEYSTORE_PASSWORD が設定されていなければなりません。
SSL_KEYSTORE_PASSWORD
文字列
PASSWORD
Tomcat で SSL 通信に使用されるキーストアへのパスワードを設定します。
SSL_KEYSTORE_BASE_PATH
文字列
/ThingworxPlatform
Tomcat SSL キーストアへのパスを設定します。キーストアをデフォルトフォルダ以外のコンテナ内の場所に保管する場合、この変数を設定しなければなりません。
SSL_KEYSTORE_FILENAME
文字列
keystore.jks
Tomcat SSL キーストアのファイル名を設定します。キーストアにデフォルト以外のファイル名を付ける場合、この変数を設定しなければなりません。
TOMCAT_SSL_PROTOCOLS
文字列
TLSv1.2
Tomcat SSL プロトコルを指定します。Tomcat で使用されている SSL プロトコルをオーバーライドする場合にこれを設定します。
SERVER_HTTP_PORT
文字列
8080
Tomcat が HTTP 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
SERVER_HTTPS_PORT
文字列
8443
Tomcat が HTTPS 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
DOCKER_DEBUG
true/false
false
コンテナ起動時にデバッグ情報を記録するオプションを切り替えます。これには機密情報が含まれている可能性があることに注意してください。
LS_USERNAME
文字列
""
ThingWorx ライセンスを取得する PTC ログインユーザー名を指定します。
LS_PASSWORD
文字列
""
ThingWorx ライセンスを取得する PTC ログインパスワードを指定します。
ENABLE_BACKUP
true/false
false
バックアップのオプションを切り替えます。
ENABLE_LOGGING
true/false
true
ログ作成のオプションを切り替えます。
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json ファイル内のデータベースとライセンスのパスワードを暗号化するオプションを切り替えます。
THINGWORX_INITIAL_PASSWORD
文字列
""
ThingWorx での管理者ユーザーの初期パスワードを設定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。ThingWorx が正常に起動した後でこのパスワードを変更できます。
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
拡張パッケージアップローダを介した拡張パッケージのインポートのグローバルな有効化/無効化を制御します。
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar (Java) リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に jar ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に javascript ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に css ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に json ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に WebApp リソースファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
拡張不可エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張不可エンティティ定義が含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
拡張可能エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張可能エンティティ定義が含まれている場合、インポートは失敗します。
自分のサイトに固有の場所にボリュームパスを変更することもできます。ボリュームパスでは以下の構文が使用されます。
"./<ローカルマウントへのパス>:/<コンテナマウントへのパス>"
例:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
ボリュームパスを更新する場合、内部コンテナのマウントポイントは変わらないので、ローカルマウントのみを変更します。
Microsoft SQL Server
Microsoft SQL Server 用のいくつかの基本設定を含む Docker Compose ファイルの例を以下に示します。
version: '2.2'
services:
mssql:
image: thingworx/mssql-db:latest
ports:
- "1433"
healthcheck:
test: /opt/mssql-tools/bin/sqlcmd -U SA -P "$${SA_PASSWORD}" -h -1
-Q "set nocount on; select serverproperty('ServerName')" | grep -w "$${HOSTNAME}"
interval: 15s
platform:
image: thingworx/platform-mssql:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
depends_on:
mssql:
condition: service_healthy
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=mssql"
- "DATABASE_PORT=1433"
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
# NOTE: TWX_DATABASE_PASSWORD for MSSQL platform must be set to match your
# environment, or the MSSQL_DB_TWX_DATABASE_PASSWORD that you set for the
# Test MSSQL DB.
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
volumes:
- "./thingworx-mssql-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-mssql-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-mssql-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-mssql-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
初期メモリは 2 GB に設定され、最大メモリは 4 GB に設定されています。ボリュームマウントは docker-compose ファイルが基準になります。この場所にログとコンフィギュレーションファイルが保管されてコンテナでの永続化が有効になります。
ファイルの environment セクションに以下のオプションを追加することで、このインスタンスのコンフィギュレーションを制御できます。
変数名
デフォルト
コメント
INITIAL_HEAP
数値
2
インスタンスの初期メモリサイズを GB で設定します。
MAX_HEAP
数値
4
インスタンスの最大メモリサイズを GB で設定します。
DATABASE_HOST
文字列
mssql
SQL Server データベースホストのホスト名、サービス名、または IP アドレスを指定します。
DATABASE_PORT
数値
1433
SQL Server データベースのポート番号を指定します。
DATABASE_ADMIN_USERNAME
文字列
SA
SQL Server データベースの管理者ユーザー名を指定します。
DATABASE_ADMIN_PASSWORD
文字列
PASSWORD
SQL Server データベースの管理者パスワードを指定します。
ENABLE_HTTP
true/false
true
Tomcat で HTTP コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護しません
ENABLE_HTTPS
true/false
false
Tomcat で HTTPS コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護します。キーストアも用意し、SSL_KEYSTORE_PASSWORD を設定しなければなりません。
SSL_KEYSTORE_PASSWORD
文字列
PASSWORD
Tomcat で SSL 通信に使用されるキーストアへのパスワードを指定します。
SSL_KEYSTORE_BASE_PATH
文字列
/ThingworxPlatform
Tomcat SSL キーストアへのパスを指定します。キーストアをデフォルトフォルダ以外のコンテナ内の場所に保管する場合、この変数を設定しなければなりません。
SSL_KEYSTORE_FILENAME
文字列
keystore.jks
Tomcat SSL キーストアのファイル名を指定します。キーストアにデフォルト以外のファイル名を付ける場合、この変数を設定しなければなりません。
TOMCAT_SSL_PROTOCOLS
文字列
TLSv1.2
Tomcat SSL プロトコルを指定します。Tomcat で使用されている SSL プロトコルをオーバーライドする場合にこれを設定します。
SERVER_HTTP_PORT
文字列
8080
Tomcat が HTTP 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
SERVER_HTTPS_PORT
文字列
8443
Tomcat が HTTPS 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
DOCKER_DEBUG
true/false
false
コンテナ起動時にデバッグ情報を記録するオプションを切り替えます。これには機密情報が含まれている可能性があることに注意してください。
TWX_DATABASE_USERNAME
文字列
""
データベース用に作成される ThingWorx ユーザーを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
TWX_DATABASE_PASSWORD
文字列
""
データベース用の ThingWorx ユーザーのパスワードを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
TWX_DATABASE_SCHEMA
文字列
""
ThingWorx インスタンスのスキーマ名を指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
LS_USERNAME
文字列
""
ThingWorx ライセンスを取得する PTC ログインユーザー名を指定します。
LS_PASSWORD
文字列
""
ThingWorx ライセンスを取得する PTC ログインパスワードを指定します。
ENABLE_BACKUP
true/false
false
バックアップのオプションを切り替えます。
ENABLE_LOGGING
true/false
true
ログ作成のオプションを切り替えます。
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json ファイル内のデータベースとライセンスのパスワードを暗号化するオプションを切り替えます。
THINGWORX_INITIAL_PASSWORD
文字列
""
ThingWorx での管理者ユーザーの初期パスワードを設定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。ThingWorx が正常に起動した後でこのパスワードを変更できます。
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
拡張パッケージアップローダを介した拡張パッケージのインポートのグローバルな有効化/無効化を制御します。
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar (Java) リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に jar ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に javascript ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に css ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に json ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に WebApp リソースファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
拡張不可エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張不可エンティティ定義が含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
拡張可能エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張可能エンティティ定義が含まれている場合、インポートは失敗します。
自分のサイトに固有の場所にボリュームパスを変更することもできます。ボリュームパスでは以下の構文が使用されます。
"./<ローカルマウントへのパス>:/<コンテナマウントへのパス>"
例:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
ボリュームパスを更新する場合、内部コンテナのマウントポイントは変わらないので、ローカルマウントのみを変更します。
MS SQL Server Docker イメージはテストを簡単に行うために提供されています。提供されている MS SQL Server Docker を本番用には使用しないでください。最良事例としては、本番用に独自の MS SQL Server 環境を設定します。
Docker の外に存在する Microsoft SQL Server データベースに接続するには、mssql サービスを Compose ファイルから除去し、以下の変数を platform 環境変数に追加します。
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
これらはユーザー、データベース、またはスキーマの作成が承認されている Microsoft SQL Server データベース上の管理者アカウントであり、ThingWorx コンテナは初回起動時にこれをロードします。外部の Microsoft SQL Server データベースを使用するためのプラットフォーム設定が含まれている Compose ファイルの例については、 ThingWorx Docker での外部 Microsoft SQL Server データベースの使用を参照してください。
外部データベースを使用している場合、ThingWorx スキーマを手動でインストールでき、ThingWorx Docker コンテナ用の管理者資格証明は入力しません。これを行うには、変数 DATABASE_HOSTDATABASE_PORTTWX_DATABASE_USERNAMETWX_DATABASE_PASSWORD、および TWX_DATABASE_SCHEMA を適宜設定します。
PostgreSQL
PostgreSQL 用のいくつかの基本設定を含む Docker Compose ファイルの例を以下に示します。
version: '2.2'
services:
postgresql:
image: thingworx/postgres-db:latest
ports:
- "5432"
healthcheck:
test: pg_isready -U postgres
interval: 15s
environment:
- "TWX_DATABASE_USERNAME=thingworx"
- "TWX_DATABASE_SCHEMA=thingworx"
# NOTE: You must set the password for the pre-created ThingWorx Schema in
# this test database manually.
- "TWX_DATABASE_PASSWORD="
volumes:
- "./thingworx-postgres-storage/ThingworxPostgresqlStorage:/ThingworxPostgresqlStorage"
- "./thingworx-postgres-storage/postgres-data:/var/lib/postgresql/data"
platform:
image: thingworx/platform-postgres:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
depends_on:
postgresql:
condition: service_healthy
ports:
- "8080:8080"
- "8443:8443"
environment:
- "ENABLE_CLUSTERED_MODE=false"
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=postgresql"
- "DATABASE_PORT=5432"
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
# NOTE: TWX_DATABASE_PASSWORD must be set for your environment, or to match
# TWX_DATABASE_PASSWORD in the postgresql service above.
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
volumes:
- "./thingworx-postgres-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-postgres-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-postgres-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-postgres-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
初期メモリは 2 GB に設定され、最大メモリは 4 GB に設定されています。ボリュームマウントは docker-compose ファイルが基準になります。この場所にログとコンフィギュレーションファイルが保管されてコンテナでの永続化が有効になります。
ファイルの environment セクションに以下のオプションを追加することで、このインスタンスのコンフィギュレーションを制御できます。
変数名
デフォルト
コメント
INITIAL_HEAP
数値
2
インスタンスの初期メモリサイズを GB で設定します。
MAX_HEAP
数値
4
インスタンスの最大メモリサイズを GB で設定します。
DATABASE_HOST
文字列
postgressql
PostgreSQL データベースホストのホスト名、サービス名、または IP アドレスを指定します。
DATABASE_PORT
数値
5432
PostgreSQL データベースのポート番号を指定します。
DATABASE_ADMIN_USERNAME
文字列
postgres
PostgreSQL データベースの管理者ユーザー名を指定します。
DATABASE_ADMIN_PASSWORD
文字列
PASSWORD
PostgreSQL データベースの管理者パスワードを指定します。
ENABLE_HTTP
true/false
true
Tomcat で HTTP コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護しません。
ENABLE_HTTPS
true/false
false
Tomcat で HTTPS コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護します。キーストアも用意し、SSL_KEYSTORE_PASSWORD を設定しなければなりません。
SSL_KEYSTORE_PASSWORD
文字列
PASSWORD
Tomcat で SSL 通信に使用されるキーストアへのパスワードを指定します。
SSL_KEYSTORE_BASE_PATH
文字列
/ThingworxPlatform
Tomcat SSL キーストアへのパスを指定します。キーストアをデフォルトフォルダ以外のコンテナ内の場所に保管する場合、この変数を設定しなければなりません。
SSL_KEYSTORE_FILENAME
文字列
keystore.jks
Tomcat SSL キーストアのファイル名を指定します。キーストアにデフォルト以外のファイル名を付ける場合、この変数を設定しなければなりません。
TOMCAT_SSL_PROTOCOLS
文字列
TLSv1.2
Tomcat SSL プロトコルを指定します。Tomcat で使用されている SSL プロトコルをオーバーライドする場合にこれを設定します。
SERVER_HTTP_PORT
文字列
8080
Tomcat が HTTP 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
SERVER_HTTPS_PORT
文字列
8443
Tomcat が HTTPS 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
DOCKER_DEBUG
true/false
false
コンテナ起動時にデバッグ情報を記録するオプションを切り替えます。これには機密情報が含まれている可能性があることに注意してください。
TWX_DATABASE_USERNAME
文字列
""
データベース用に作成される ThingWorx ユーザーを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。PostgreSQL では、TWX_DATABASE_USERNAME
既存の実装の制限により、TWX_DATABASE_SCHEMA と一致していなければなりません
postgres であってはなりません
TWX_DATABASE_PASSWORD
文字列
""
データベース用の ThingWorx ユーザーのパスワードを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
TWX_DATABASE_SCHEMA
文字列
""
ThingWorx インスタンスのスキーマ名を指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。PostgreSQL では、既存の実装の制限により、TWX_DATABASE_USERNAMETWX_DATABASE_SCHEMA と一致していなければなりません。
TABLESPACE_LOCATION
文字列
/ThingworxPostgresqlStorage
データベースサーバー上のテーブルスペースの場所を指定します。
IS_RDS
yes/no
no
RDS PostgreSQL データベースに接続するオプションを切り替えます。
LS_USERNAME
文字列
""
ThingWorx ライセンスを取得する PTC ログインユーザー名を指定します。
LS_PASSWORD
文字列
""
ThingWorx ライセンスを取得する PTC ログインパスワードを指定します。
ENABLE_BACKUP
true/false
false
バックアップのオプションを切り替えます。
ENABLE_LOGGING
true/false
true
ログ作成のオプションを切り替えます。
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json ファイル内のデータベースとライセンスのパスワードを暗号化するオプションを切り替えます。
THINGWORX_INITIAL_PASSWORD
文字列
""
ThingWorx での管理者ユーザーの初期パスワードを設定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。ThingWorx が正常に起動した後でこのパスワードを変更できます。
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
拡張パッケージアップローダを介した拡張パッケージのインポートのグローバルな有効化/無効化を制御します。
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar (Java) リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に jar ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に javascript ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に css ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に json ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に WebApp リソースファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
拡張不可エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張不可エンティティ定義が含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
拡張可能エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張可能エンティティ定義が含まれている場合、インポートは失敗します。
POSTGRES_USER
文字列
""
PostgreSQL データベースの管理者ユーザー名を指定します。
POSTGRES_PASSWORD
文字列
""
PostgreSQL データベースの管理者パスワードを指定します。
POSTGRES_DB
文字列
""
PostgreSQL データベースの名前を指定します。
POSTGRESQL とその詳細に関する追加の変数は、 Docker Hub で入手できます。
自分のサイトに固有の場所にボリュームパスを変更することもできます。ボリュームパスでは以下の構文が使用されます。
"./<ローカルマウントへのパス>:/<コンテナマウントへのパス>"
例:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
ボリュームパスを更新する場合、内部コンテナのマウントポイントは変わらないので、ローカルマウントのみを変更します。
PostgreSQL Docker イメージはテストを簡単に行うために提供されています。提供されている PostgreSQL Docker を本番用には使用しないでください。最良事例としては、本番用に独自の PostgreSQL 環境を設定します。
Docker の外にある PostgreSQL データベースに接続するには、postgresql サービスを Compose ファイルから除去し、以下の変数を platform 環境変数に追加します。
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
これらはユーザー、データベース、またはスキーマの作成が承認されている PostgreSQL データベース上の管理者アカウントであり、ThingWorx コンテナは初回起動時にこれをロードします。外部データベースを使用するためのプラットフォーム設定が含まれている Compose ファイルの例については、 ThingWorx Docker での外部 PostgreSQL データベースの使用を参照してください。
外部データベースを使用している場合、ThingWorx スキーマを通常どおりに手動でインストールでき、ThingWorx Docker コンテナ用の管理者資格証明は入力しません。これを行うには、変数 DATABASE_HOSTDATABASE_PORTTWX_DATABASE_USERNAMETWX_DATABASE_PASSWORD、および TWX_DATABASE_SCHEMA を適宜設定します。
Azure SQL
* 
ThingWorx Dockerfile で Azure SQL データベースを使用するには、Microsoft Azure で Azure SQL データベースが設定されていなければなりません。AzureSQL データベースの設定については、 永続化プロバイダとしての Azure SQL Server の使用を参照してください。
Azure SQL 用のいくつかの基本設定を含む Docker Compose ファイルの例を以下に示します。
version: '2.2'
services:
# NOTE: There is no test database for the ThingWorx Azure SQL Persitence Provider
# as you need to create a database resource in Azure to connect to.
platform:
image: thingworx/platform-azuresql:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds' localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=<azuresql url>"
# NOTE: Set DATABASE_ADMIN_USERNAME and DATABASE_ADMIN_PASSWORD if you want
# the docker container to create the user and database tables for ThingWorx
# based on TWX_DATABASE_USERNAME and TWX_DATABASE_PASSWORD.
# Otherwise, comment out and supply the TWX_DATABASE_USERNAME and TWX_DATABASE_PASSWORD
# for manually created user and ThingWorx database structure.
- "DATABASE_ADMIN_USERNAME=<azuresql admin user>"
- "DATABASE_ADMIN_PASSWORD=<azuresql admin password>"
# NOTE: Set TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD TWX_DATABASE_SCHEMA for
# the thingworx database setup that will either be created by the docker image,
# or connected to if it already exists.
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
* 
初期メモリは 2 GB に設定され、最大メモリは 4 GB に設定されています。
ファイルの environment セクションに以下のオプションを追加することで、このインスタンスのコンフィギュレーションを制御できます。
変数名
デフォルト
コメント
INITIAL_HEAP
数値
2
インスタンスの初期メモリサイズを GB で設定します。
MAX_HEAP
数値
4
インスタンスの最大メモリサイズを GB で設定します。
DATABASE_HOST
文字列
なし
Azure SQL データベースの URL を指定します。
DATABASE_ADMIN_USERNAME
文字列
なし
Azure SQL データベースの管理者ユーザー名を指定します。Docker コンテナに TWX_DATABASE_USERNAME を作成して ThingWorx データベーステーブルを初期化する場合にのみ設定します。
DATABASE_ADMIN_PASSWORD
文字列
なし
Azure SQL データベースの管理者パスワードを指定します。Docker コンテナに TWX_DATABASE_USERNAME を作成して ThingWorx データベーステーブルを初期化する場合にのみ設定します。
ENABLE_HTTP
true/false
true
Tomcat で HTTP コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護しません
ENABLE_HTTPS
true/false
false
Tomcat で HTTPS コネクタを有効にすることで、コンテナへのトラフィックをセキュリティ保護します。キーストアも用意し、SSL_KEYSTORE_PASSWORD を設定しなければなりません
SSL_KEYSTORE_PASSWORD
文字列
PASSWORD
Tomcat で SSL 通信に使用されるキーストアへのパスワードを指定します。
SSL_KEYSTORE_BASE_PATH
文字列
/ThingworxPlatform
Tomcat SSL キーストアへのパスを指定します。キーストアをデフォルトフォルダ以外のコンテナ内の場所に保管する場合、この変数を設定しなければなりません。
SSL_KEYSTORE_FILENAME
文字列
keystore.jks
Tomcat SSL キーストアのファイル名を指定します。キーストアにデフォルト以外のファイル名を付ける場合、この変数を設定しなければなりません。
TOMCAT_SSL_PROTOCOLS
文字列
TLSv1.2
Tomcat SSL プロトコルを指定します。Tomcat で使用されている SSL プロトコルをオーバーライドする場合にこれを設定します。
SERVER_HTTP_PORT
文字列
8080
Tomcat が HTTP 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
SERVER_HTTPS_PORT
文字列
8443
Tomcat が HTTPS 通信を監視するポートを指定します。このポートが変更された場合、公開されるポートを Compose ファイルで変更しなければなりません。
DOCKER_DEBUG
true/false
false
コンテナ起動時にデバッグ情報を記録するオプションを切り替えます。これには機密情報が含まれている可能性があることに注意してください。
TWX_DATABASE_USERNAME
文字列
""
データベース用に作成される ThingWorx ユーザーを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
TWX_DATABASE_PASSWORD
文字列
""
データベース用の ThingWorx ユーザーのパスワードを指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。この変数は Azure SQL データベースのパスワードポリシーにも準拠していなければなりません。詳細については、 Password Policy を参照してください。
TWX_DATABASE_SCHEMA
文字列
""
ThingWorx インスタンスのスキーマ名を指定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。
LS_USERNAME
文字列
""
ThingWorx ライセンスを取得する PTC ログインユーザー名を指定します。
LS_PASSWORD
文字列
""
ThingWorx ライセンスを取得する PTC ログインパスワードを指定します。
ENABLE_BACKUP
true/false
false
バックアップのオプションを切り替えます。
ENABLE_LOGGING
true/false
true
ログ作成のオプションを切り替えます。
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json ファイル内のデータベースとライセンスのパスワードを暗号化するオプションを切り替えます。
THINGWORX_INITIAL_PASSWORD
文字列
""
ThingWorx での管理者ユーザーの初期パスワードを設定します。この変数は ThingWorx Platform を起動する前に手動で設定しなければなりません。ThingWorx が正常に起動した後でこのパスワードを変更できます。
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
拡張パッケージアップローダを介した拡張パッケージのインポートのグローバルな有効化/無効化を制御します。
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar (Java) リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に jar ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に javascript ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に css ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に json ファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps リソースが含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に WebApp リソースファイルが含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
拡張不可エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張不可エンティティ定義が含まれている場合、インポートは失敗します。
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
拡張可能エンティティ定義が含まれている拡張パッケージのインポートアクセス許可を制御します。false に設定され、拡張機能に拡張パッケージエンティティ以外の拡張可能エンティティ定義が含まれている場合、インポートは失敗します。
自分のサイトに固有の場所にボリュームパスを変更することもできます。ボリュームパスでは以下の構文が使用されます。
"./<ローカルマウントへのパス>:/<コンテナマウントへのパス>"
例:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
ボリュームパスを更新する場合、内部コンテナのマウントポイントは変わらないので、ローカルマウントのみを変更します。