配置 ThingWorx Docker
欲快速啟動並執行 ThingWorx Docker,請使用內容提供者的預設設定。也可以配置 Docker Compose 檔案來自訂網站設定。本部份將介紹如何配置每個內容提供者的 Docker Compose 檔案。
配置 HTTP 安全 (HTTPS) 和 HTTP
依預設,在所提供 ThingWorx 映像中,HTTP 為啟用狀態,HTTPS 為禁用狀態。這適用於測試和開發,但不適用於生產。如果想要在生產情況下使用並確保 ThingWorx Platform 的安全,PTC 強烈建議啟用 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_ENABLED 已設為 true
3. 確保連接埠 8443:8443 位於 Docker Compose 檔案的 ports 部份。
欲啟用 HTTP:
1. 在 Docker Compose 檔案中,確保環境變數 HTTP_ENABLED 已依據您的需求設為 truefalse
預設為 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 且延伸功能包含可延伸實體定義,而不是延伸功能封裝實體,則匯入將失敗。
也可以將磁碟區路徑變更為網站的特定位置。磁碟區路徑使用下列語法:
"./path_to_local_mount:/path_to_container_mount"
例如:
"/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 且延伸功能包含可延伸實體定義,而不是延伸功能封裝實體,則匯入將失敗。
也可以將磁碟區路徑變更為網站的特定位置。磁碟區路徑使用下列語法:
"./path_to_local_mount:/path_to_container_mount"
例如:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
當更新磁碟區路徑時,僅變更本機裝載,因為內部容器的裝載點永遠不會變更。
提供 MS SQL Server Docker 映像的目的是讓測試更輕鬆。請勿將所提供的 MS SQL Server Docker 映像用於生產。對於生產,最好設定您自己的 MS SQL Server 環境。
欲連線至位於 Docker 外部的 Microsoft SQL Server 資料庫,請從 Compose 檔案中移除 mssql 服務並將下列變數新增至 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_PASSWORDTWX_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_USERNAME 應符合 TWX_DATABASE_SCHEMA
TABLESPACE_LOCATION
字串
/ThingworxPostgresqlStorage
指定資料庫伺服器上表格空間的位置。
IS_RDS
「是」/「否」
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 資料庫的名稱。
您可以在 Docker Hub 找到 POSTGRESQL 的其他變數及其詳細資訊。
也可以將磁碟區路徑變更為網站的特定位置。磁碟區路徑使用下列語法:
"./path_to_local_mount:/path_to_container_mount"
例如:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
當更新磁碟區路徑時,僅變更本機裝載,因為內部容器的裝載點永遠不會變更。
提供 PostgreSQL Docker 映像的目的是讓測試更輕鬆。請勿將所提供的 PostgreSQL Docker 映像用於生產。對於生產,最好設定您自己的 PostgreSQL 環境。
欲連線至位於 Docker 外部的 PostgreSQL 資料庫,請從 Compose 檔案中移除 postgresql 服務並將下列變數新增至 platform 環境變數:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
這些是 PostgreSQL 資料庫上已授權的系統管理員帳戶,用於建立 ThingWorx 容器首次啟動時載入的使用者、資料庫或結構描述。如需有關使用外部資料庫進行平台設定的範例 Compose 檔案,請參閱 針對 ThingWorx Docker 使用外部 PostgreSQL 資料庫
如果要使用外部資料庫,您可以正常手動安裝 ThingWorx 結構描述,而無需提供 ThingWorx Docker 容器的管理員憑證。欲執行此操作,請對應設定 DATABASE_HOSTDATABASE_PORTTWX_DATABASE_USERNAMETWX_DATABASE_PASSWORDTWX_DATABASE_SCHEMA 變數。
Azure SQL
* 
必須有一個在 Microsoft Azure 中配置的 Azure SQL 資料庫,以便與 ThingWorx Dockerfiles 一起使用。有關設定 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
字串
N/A
指定 Azure SQL 資料庫的 URL。
DATABASE_ADMIN_USERNAME
字串
N/A
指定 Azure SQL 資料庫的管理員使用者名稱。僅在您想要 Docker 容器建立 TWX_DATABASE_USERNAME 並初始化 ThingWorx 資料庫表格時建立。
DATABASE_ADMIN_PASSWORD
字串
N/A
指定 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 資料庫的密碼原則。如需詳細資訊,請參閱 密碼原則
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 且延伸功能包含可延伸實體定義,而不是延伸功能封裝實體,則匯入將失敗。
也可以將磁碟區路徑變更為網站的特定位置。磁碟區路徑使用下列語法:
"./path_to_local_mount:/path_to_container_mount"
例如:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
當更新磁碟區路徑時,僅變更本機裝載,因為內部容器的裝載點永遠不會變更。