Configurazione del Docker di ThingWorx
Per essere immediatamente operativi con il Docker di ThingWorx, utilizzare le impostazioni di default per il provider di dati. È anche possibile configurare il file Docker Compose per personalizzare le impostazioni del sito. In questa sezione viene descritto come configurare i file Docker Compose per ciascun provider di dati.
Configurazione di HTTP Secure (HTTPS) e HTTP
Per default, HTTP è attivato, mentre HTTPS è disattivato nelle immagini ThingWorx fornite. Questa impostazione è utile per le fasi di test e sviluppo, ma non per l'utilizzo in produzione. PTC consiglia vivamente di attivare HTTPS se si intende utilizzarlo in uno scenario di produzione in modo da garantire una protezione adeguata per ThingWorx Platform.
* 
Se HTTPS è attivato, è necessario fornire un keystore per avviare il contenitore. In caso contrario, il contenitore viene chiuso.
Per configurare HTTPS per le immagini Docker:
1. Copiare il file keystore contenente i certificati HTTPS nella cartella ThingworxPlatform montata sul Docker. I punti di montaggio dei volumi si riferiscono ai file docker-compose. Questo è il percorso in cui log e file di configurazione vengono archiviati per consentire la persistenza nei contenitori.
Per default, il keystore deve essere denominato keystore.jks. È possibile sostituirlo con le variabili di ambiente SSL_KEYSTORE_FILENAME descritte in seguito.
Copiare il file Docker Compose di esempio qui:
./thingworx-storage/shared/ThingworxPlatform
2. Verificare che nel file Docker Compose la variabile di ambiente SSL_KEYSTORE_PASSWORD sia impostata sulla password di crittografia del keystore e che HTTPS_ENABLED sia impostato su true.
3. Verificare che la porta 8443:8443 si trovi nella sezione ports del file Docker Compose.
Per attivare HTTP:
1. Nel file Docker Compose, verificare che la variabile di ambiente HTTP_ENABLED sia impostata su true o false, a seconda dei requisiti.
L'impostazione di default è true.
2. Verificare che la porta 8080:8080 si trovi nella sezione ports del file Docker Compose.
* 
Sostituire il segnaposto PASSWORD nei file con la password di ThingWorx o del database.
H2
Di seguito è mostrato un file Docker Compose di esempio per H2 con alcune impostazioni di base:
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"
* 
La memoria iniziale è impostata su 2 GB, mentre la massima quantità di memoria è impostata su 4 GB.
È possibile aggiungere le seguenti opzioni alla sezione environment del file per controllare la configurazione di questa istanza:
Nomi delle variabili
Valori
Valori di default
Commenti
INITIAL_HEAP
Number
2
Imposta la dimensione iniziale della memoria per l'istanza in GB.
MAX_HEAP
Number
4
Imposta la dimensione massima della memoria per l'istanza in GB.
ENABLE_HTTP
True/False
true
Attiva il connettore HTTP in Tomcat per il traffico non protetto verso il contenitore.
ENABLE_HTTPS
True/False
false
Attiva il connettore HTTPS in Tomcat per il traffico protetto verso il contenitore. È inoltre necessario specificare un keystore e impostare una SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Stringa
PASSWORD
Imposta la password per il keystore utilizzato per le comunicazioni SSL in Tomcat.
SSL_KEYSTORE_BASE_PATH
Stringa
/ThingworxPlatform
Imposta il percorso del keystore SSL di Tomcat. Se si memorizza il keystore in un percorso del contenitore diverso dalla cartella di default, è necessario impostare questa variabile.
SSL_KEYSTORE_FILENAME
Stringa
keystore.jks
Imposta il nome file del keystore SSL di Tomcat. Se il keystore ha un nome file diverso da quello di default, è necessario impostare questa variabile.
TOMCAT_SSL_PROTOCOLS
Stringa
TLSv1.2
Specifica il protocollo SSL di Tomcat. Impostare questa opzione se si desidera sostituire i protocolli SSL accettati in Tomcat.
SERVER_HTTP_PORT
Stringa
8080
Specifica la porta monitorata da Tomcat per le comunicazioni HTTP. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
SERVER_HTTPS_PORT
Stringa
8443
Specifica la porta monitorata da Tomcat per le comunicazioni HTTPS. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
DOCKER_DEBUG
True/False
false
Attiva o disattiva l'opzione per la registrazione delle informazioni di debug all'avvio del contenitore. Potrebbe contenere informazioni sensibili.
LS_USERNAME
Stringa
""
Specifica il nome utente di accesso PTC per ottenere la licenza di ThingWorx.
LS_PASSWORD
Stringa
""
Specifica la password di accesso PTC per ottenere la licenza di ThingWorx.
ENABLE_BACKUP
True/False
false
Attiva o disattiva l'opzione per i backup.
ENABLE_LOGGING
True/False
true
Attiva o disattiva l'opzione per la registrazione.
ENCRYPT_CREDENTIALS
True/False
false
Attiva o disattiva l'opzione per crittografare le password per i database e le licenze nel file platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Stringa
""
Imposta la password iniziale per l'utente amministratore in ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. È necessario modificare la password in seguito al corretto avvio di ThingWorx.
EXTPKG_IMPORT_POLICY_ENABLED
True/False
false
Controlla l'attivazione/disattivazione globale dell'importazione dei package di estensione tramite l'utilità Extension Package Uploader.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse Jar (Java). Se il valore è false e l'estensione contiene file jar, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JavaScript. Se il valore è false e l'estensione contiene file javascript, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse CSS. Se il valore è false e l'estensione contiene file css, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JSON. Se il valore è false e l'estensione contiene file json, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono risorse WebApps. Se il valore è false e l'estensione contiene file WebApp, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono definizioni di entità non estendibili. Se il valore è false e l'estensione contiene definizioni di entità non estendibili, diverse dall'entità package estensione, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti definizioni di entità estendibili. Se il valore è false e l'estensione contiene definizioni di entità estendibili, diverse dall'entità package estensione, l'importazione non riesce.
È anche possibile modificare il percorso del volume utilizzando una posizione specifica del sito. Il percorso del volume utilizza la sintassi seguente:
"./percorso_montaggio_locale:/percorso_montaggio_contenitore"
Ad esempio:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Quando si aggiorna il percorso del volume, modificare solo il punto di montaggio locale poiché i punti di montaggio del contenitore interno non cambiano mai.
Microsoft SQL Server
Di seguito è mostrato un file Docker Compose di esempio per Microsoft SQL Server con alcune impostazioni di base:
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"
* 
La memoria iniziale è impostata su 2 GB, mentre la massima quantità di memoria è impostata su 4 GB. I punti di montaggio dei volumi si riferiscono ai file docker-compose. Questo è il percorso in cui log e file di configurazione vengono archiviati per consentire la persistenza nei contenitori.
È possibile aggiungere le seguenti opzioni alla sezione environment del file per controllare la configurazione di questa istanza:
Nomi delle variabili
Valori
Valori di default
Commenti
INITIAL_HEAP
Number
2
Imposta la dimensione iniziale della memoria per l'istanza in GB.
MAX_HEAP
Number
4
Imposta la dimensione massima della memoria per l'istanza in GB.
DATABASE_HOST
Stringa
mssql
Specifica il nome host, il nome del servizio o l'indirizzo IP dell'host del database SQL Server.
DATABASE_PORT
Number
1433
Specifica il numero di porta per il database SQL Server.
DATABASE_ADMIN_USERNAME
Stringa
SA
Specifica il nome utente dell'amministratore del database SQL Server.
DATABASE_ADMIN_PASSWORD
Stringa
PASSWORD
Specifica la password dell'amministratore per il database SQL Server.
ENABLE_HTTP
True/False
true
Attiva il connettore HTTP in Tomcat per il traffico non protetto verso il contenitore.
ENABLE_HTTPS
True/False
false
Attiva il connettore HTTPS in Tomcat per il traffico protetto verso il contenitore. È anche necessario fornire un keystore e impostare SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Stringa
PASSWORD
Specifica la password per il keystore utilizzata per le comunicazioni SSL in Tomcat.
SSL_KEYSTORE_BASE_PATH
Stringa
/ThingworxPlatform
Specifica il percorso del keystore SSL di Tomcat. Se si memorizza il keystore in un percorso del contenitore diverso dalla cartella di default, è necessario impostare questa variabile.
SSL_KEYSTORE_FILENAME
Stringa
keystore.jks
Specifica il nome file del keystore SSL di Tomcat. Se il keystore ha un nome file diverso da quello di default, è necessario impostare questa variabile.
TOMCAT_SSL_PROTOCOLS
Stringa
TLSv1.2
Specifica il protocollo SSL di Tomcat. Impostare questa opzione se si desidera sostituire i protocolli SSL accettati in Tomcat.
SERVER_HTTP_PORT
Stringa
8080
Specifica la porta monitorata da Tomcat per le comunicazioni HTTP. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
SERVER_HTTPS_PORT
Stringa
8443
Specifica la porta monitorata da Tomcat per le comunicazioni HTTPS. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
DOCKER_DEBUG
True/False
false
Attiva o disattiva l'opzione per la registrazione delle informazioni di debug all'avvio del contenitore. Potrebbe contenere informazioni sensibili.
TWX_DATABASE_USERNAME
Stringa
""
Specifica l'utente ThingWorx che verrà creato per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
TWX_DATABASE_PASSWORD
Stringa
""
Specifica la password dell'utente ThingWorx per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
TWX_DATABASE_SCHEMA
Stringa
""
Specifica il nome dello schema per l'istanza di ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
LS_USERNAME
Stringa
""
Specifica il nome utente di accesso PTC per ottenere la licenza di ThingWorx.
LS_PASSWORD
Stringa
""
Specifica la password di accesso PTC per ottenere la licenza di ThingWorx.
ENABLE_BACKUP
True/False
false
Attiva o disattiva l'opzione per i backup.
ENABLE_LOGGING
True/False
true
Attiva o disattiva l'opzione per la registrazione.
ENCRYPT_CREDENTIALS
True/False
false
Attiva o disattiva l'opzione per crittografare le password per i database e le licenze nel file platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Stringa
""
Imposta la password iniziale per l'utente amministratore in ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. È necessario modificare la password in seguito al corretto avvio di ThingWorx.
EXTPKG_IMPORT_POLICY_ENABLED
True/False
false
Controlla l'attivazione/disattivazione globale dell'importazione dei package di estensione tramite l'utilità Extension Package Uploader.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse Jar (Java). Se il valore è false e l'estensione contiene file jar, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JavaScript. Se il valore è false e l'estensione contiene file javascript, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse CSS. Se il valore è false e l'estensione contiene file css, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JSON. Se il valore è false e l'estensione contiene file json, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono risorse WebApps. Se il valore è false e l'estensione contiene file WebApp, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono definizioni di entità non estendibili. Se il valore è false e l'estensione contiene definizioni di entità non estendibili, diverse dall'entità package estensione, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti definizioni di entità estendibili. Se il valore è false e l'estensione contiene definizioni di entità estendibili, diverse dall'entità package estensione, l'importazione non riesce.
È anche possibile modificare il percorso del volume utilizzando una posizione specifica del sito. Il percorso del volume utilizza la sintassi seguente:
"./percorso_montaggio_locale:/percorso_montaggio_contenitore"
Ad esempio:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Quando si aggiorna il percorso del volume, modificare solo il punto di montaggio locale poiché i punti di montaggio del contenitore interno non cambiano mai.
L'immagine Docker di MS SQL Server viene fornita per semplificare il test. Non utilizzarla a scopo di produzione. Come best practice, impostare il proprio ambiente MS SQL Server per la produzione.
Per effettuare la connessione a un database di Microsoft SQL Server esistente all'esterno del Docker, rimuovere il servizio mssql dal file Compose e aggiungere le variabili seguenti alle variabili di ambiente platform:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Questi sono gli account amministratore nel database di Microsoft SQL Server autorizzati per la creazione di un utente, un database o uno schema che il contenitore ThingWorx carica al primo avvio. Per un esempio di file Compose con l'impostazione della piattaforma per l'utilizzo di un database di Microsoft SQL Server esterno, vedere Utilizzo di un database di Microsoft SQL Server esterno per il Docker di ThingWorx.
Se si utilizza un database esterno, è possibile installare manualmente lo schema ThingWorx e non fornire le credenziali di amministratore per il contenitore Docker di ThingWorx. A questo scopo, impostare le variabili DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD e TWX_DATABASE_SCHEMA nel modo appropriato.
PostgreSQL
Di seguito è mostrato un file Docker Compose di esempio per PostgreSQL con alcune impostazioni di base:
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"
* 
La memoria iniziale è impostata su 2 GB, mentre la massima quantità di memoria è impostata su 4 GB. I punti di montaggio dei volumi si riferiscono ai file docker-compose. Questo è il percorso in cui log e file di configurazione vengono archiviati per consentire la persistenza nei contenitori.
È possibile aggiungere le seguenti opzioni alla sezione environment del file per controllare la configurazione di questa istanza:
Nomi delle variabili
Valori
Valori di default
Commenti
INITIAL_HEAP
Number
2
Imposta la dimensione iniziale della memoria per l'istanza in GB.
MAX_HEAP
Number
4
Imposta la dimensione massima della memoria per l'istanza in GB.
DATABASE_HOST
Stringa
postgressql
Specifica il nome host, il nome del servizio o l'indirizzo IP dell'host del database di PostgreSQL.
DATABASE_PORT
Number
5432
Specifica il numero di porta per il database di PostgreSQL.
DATABASE_ADMIN_USERNAME
Stringa
postgres
Specifica il nome utente dell'amministratore del database di PostgreSQL.
DATABASE_ADMIN_PASSWORD
Stringa
PASSWORD
Specifica la password dell'amministratore del database di PostgreSQL.
ENABLE_HTTP
True/False
true
Attiva il connettore HTTP in Tomcat per il traffico non protetto verso il contenitore.
ENABLE_HTTPS
True/False
false
Attiva il connettore HTTPS in Tomcat per il traffico protetto verso il contenitore. È anche necessario fornire un keystore e impostare SSL_KEYSTORE_PASSWORD
SSL_KEYSTORE_PASSWORD
Stringa
PASSWORD
Specifica la password per il keystore utilizzata per le comunicazioni SSL in Tomcat.
SSL_KEYSTORE_BASE_PATH
Stringa
/ThingworxPlatform
Specifica il percorso del keystore SSL di Tomcat. Se si memorizza il keystore in un percorso del contenitore diverso dalla cartella di default, è necessario impostare questa variabile.
SSL_KEYSTORE_FILENAME
Stringa
keystore.jks
Specifica il nome file del keystore SSL di Tomcat. Se il keystore ha un nome file diverso da quello di default, è necessario impostare questa variabile.
TOMCAT_SSL_PROTOCOLS
Stringa
TLSv1.2
Specifica il protocollo SSL di Tomcat. Impostare questa opzione se si desidera sostituire i protocolli SSL accettati in Tomcat.
SERVER_HTTP_PORT
Stringa
8080
Specifica la porta monitorata da Tomcat per le comunicazioni HTTP. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
SERVER_HTTPS_PORT
Stringa
8443
Specifica la porta monitorata da Tomcat per le comunicazioni HTTPS. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
DOCKER_DEBUG
True/False
false
Attiva o disattiva l'opzione per la registrazione delle informazioni di debug all'avvio del contenitore. Potrebbe contenere informazioni sensibili.
TWX_DATABASE_USERNAME
Stringa
""
Specifica l'utente ThingWorx che verrà creato per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. Tenere presente che per PostgreSQL, TWX_DATABASE_USERNAME:
Deve corrispondere a TWX_DATABASE_SCHEMA a causa di una limitazione dell'implementazione esistente
Non deve essere postgres
TWX_DATABASE_PASSWORD
Stringa
""
Specifica la password dell'utente ThingWorx per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
TWX_DATABASE_SCHEMA
Stringa
""
Specifica il nome dello schema per l'istanza di ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. Per PostgreSQL TWX_DATABASE_USERNAME deve corrispondere a TWX_DATABASE_SCHEMA a causa di una limitazione dell'implementazione esistente.
TABLESPACE_LOCATION
Stringa
/ThingworxPostgresqlStorage
Specifica la posizione dello spazio tabelle sul server di database.
IS_RDS
sì/no
no
Attiva o disattiva l'opzione per la connessione a un database RDS PostgreSQL.
LS_USERNAME
Stringa
""
Specifica il nome utente di accesso PTC per ottenere la licenza di ThingWorx.
LS_PASSWORD
Stringa
""
Specifica la password di accesso PTC per ottenere la licenza di ThingWorx.
ENABLE_BACKUP
True/False
false
Attiva o disattiva l'opzione per i backup.
ENABLE_LOGGING
True/False
true
Attiva o disattiva l'opzione per la registrazione.
ENCRYPT_CREDENTIALS
True/False
false
Attiva o disattiva l'opzione per crittografare le password per i database e le licenze nel file platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Stringa
""
Imposta la password iniziale per l'utente amministratore in ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. È necessario modificare la password in seguito al corretto avvio di ThingWorx.
EXTPKG_IMPORT_POLICY_ENABLED
True/False
false
Controlla l'attivazione/disattivazione globale dell'importazione dei package di estensione tramite l'utilità Extension Package Uploader.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse Jar (Java). Se il valore è false e l'estensione contiene file jar, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JavaScript. Se il valore è false e l'estensione contiene file javascript, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse CSS. Se il valore è false e l'estensione contiene file css, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JSON. Se il valore è false e l'estensione contiene file json, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono risorse WebApps. Se il valore è false e l'estensione contiene file WebApp, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono definizioni di entità non estendibili. Se il valore è false e l'estensione contiene definizioni di entità non estendibili, diverse dall'entità package estensione, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti definizioni di entità estendibili. Se il valore è false e l'estensione contiene definizioni di entità estendibili, diverse dall'entità package estensione, l'importazione non riesce.
POSTGRES_USER
Stringa
""
Specifica il nome utente dell'amministratore del database di PostgreSQL.
POSTGRES_PASSWORD
Stringa
""
Specifica la password dell'amministratore del database di PostgreSQL.
POSTGRES_DB
Stringa
""
Specifica il nome del database PostgreSQL.
Le variabili aggiuntive per POSTGRESQL e i relativi dettagli sono disponibili in Docker Hub.
È anche possibile modificare il percorso del volume utilizzando una posizione specifica del sito. Il percorso del volume utilizza la sintassi seguente:
"./percorso_montaggio_locale:/percorso_montaggio_contenitore"
Ad esempio:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Quando si aggiorna il percorso del volume, modificare solo il punto di montaggio locale poiché i punti di montaggio del contenitore interno non cambiano mai.
L'immagine Docker di PostgreSQL viene fornita per semplificare il test. Non utilizzarla a scopo di produzione. Come best practice, impostare il proprio ambiente PostgreSQL per la produzione.
Per effettuare la connessione a un database di PostgreSQL contenuto all'esterno del Docker, è possibile rimuovere il servizio postgresql dal file Compose e aggiungere le variabili seguenti alle variabili di ambiente platform:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Questi sono gli account amministratore sul database di PostgreSQL autorizzati per la creazione di un utente, un database o uno schema che il contenitore ThingWorx carica al primo avvio. Per un esempio di file Compose con l'impostazione della piattaforma per l'utilizzo di un database esterno, vedere Utilizzo di un database di PostgreSQL esterno per il Docker di ThingWorx.
Se si utilizza un database esterno, è possibile installare manualmente lo schema ThingWorx, secondo la normale procedura e non fornire le credenziali di amministratore per il contenitore Docker di ThingWorx. A questo scopo, impostare le variabili DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD e TWX_DATABASE_SCHEMA nel modo appropriato.
Azure SQL
* 
È necessario disporre di un database SQL di Azure configurato in Microsoft Azure per l'utilizzo con i Dockerfile di ThingWorx. Per informazioni sull'impostazione di un database SQL di Azure, vedere Utilizzo di Azure SQL Server come provider di persistenza.
Di seguito è mostrato un file Docker Compose di esempio per Azure SQL con alcune impostazioni di base:
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="
* 
La memoria iniziale è impostata su 2 GB, mentre la massima quantità di memoria è impostata su 4 GB.
È possibile aggiungere le seguenti opzioni alla sezione environment del file per controllare la configurazione di questa istanza:
Nomi delle variabili
Valori
Valori di default
Commenti
INITIAL_HEAP
Number
2
Imposta la dimensione iniziale della memoria per l'istanza in GB.
MAX_HEAP
Number
4
Imposta la dimensione massima della memoria per l'istanza in GB.
DATABASE_HOST
Stringa
N/D
Specifica l'URL per il database SQL di Azure.
DATABASE_ADMIN_USERNAME
Stringa
N/D
Specifica il nome utente dell'amministratore del database SQL di Azure. Impostare questa opzione solo se si desidera che il contenitore Docker crei TWX_DATABASE_USERNAME e inizializzi le tabelle di database ThingWorx.
DATABASE_ADMIN_PASSWORD
Stringa
N/D
Specifica la password dell'amministratore del database SQL di Azure. Impostare questa opzione solo se si desidera che il contenitore Docker crei TWX_DATABASE_USERNAME e inizializzi le tabelle di database ThingWorx.
ENABLE_HTTP
True/False
true
Attiva il connettore HTTP in Tomcat per il traffico non protetto verso il contenitore.
ENABLE_HTTPS
True/False
false
Attiva il connettore HTTPS in Tomcat per il traffico protetto verso il contenitore. È anche necessario fornire un keystore e impostare SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Stringa
PASSWORD
Specifica la password per il keystore utilizzata per le comunicazioni SSL in Tomcat.
SSL_KEYSTORE_BASE_PATH
Stringa
/ThingworxPlatform
Specifica il percorso del keystore SSL di Tomcat. Se si memorizza il keystore in un percorso del contenitore diverso dalla cartella di default, è necessario impostare questa variabile.
SSL_KEYSTORE_FILENAME
Stringa
keystore.jks
Specifica il nome file del keystore SSL di Tomcat. Se il keystore ha un nome file diverso da quello di default, è necessario impostare questa variabile.
TOMCAT_SSL_PROTOCOLS
Stringa
TLSv1.2
Specifica il protocollo SSL di Tomcat. Impostare questa opzione se si desidera sostituire i protocolli SSL accettati in Tomcat.
SERVER_HTTP_PORT
Stringa
8080
Specifica la porta monitorata da Tomcat per le comunicazioni HTTP. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
SERVER_HTTPS_PORT
Stringa
8443
Specifica la porta monitorata da Tomcat per le comunicazioni HTTPS. Se si modifica questa porta, è necessario modificare le porte esposte nel file Compose.
DOCKER_DEBUG
True/False
false
Attiva o disattiva l'opzione per la registrazione delle informazioni di debug all'avvio del contenitore. Potrebbe contenere informazioni sensibili.
TWX_DATABASE_USERNAME
Stringa
""
Specifica l'utente ThingWorx che verrà creato per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
TWX_DATABASE_PASSWORD
Stringa
""
Specifica la password dell'utente ThingWorx per il database. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. Inoltre, deve essere conforme ai criteri delle password per il database SQL di Azure. Per informazioni dettagliate, vedere Password Policy.
TWX_DATABASE_SCHEMA
Stringa
""
Specifica il nome dello schema per l'istanza di ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform.
LS_USERNAME
Stringa
""
Specifica il nome utente di accesso PTC per ottenere la licenza di ThingWorx.
LS_PASSWORD
Stringa
""
Specifica la password di accesso PTC per ottenere la licenza di ThingWorx.
ENABLE_BACKUP
True/False
false
Attiva o disattiva l'opzione per i backup.
ENABLE_LOGGING
True/False
true
Attiva o disattiva l'opzione per la registrazione.
ENCRYPT_CREDENTIALS
True/False
false
Attiva o disattiva l'opzione per crittografare le password per i database e le licenze nel file platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Stringa
""
Imposta la password iniziale per l'utente amministratore in ThingWorx. Questa variabile deve essere impostata manualmente prima di avviare ThingWorx Platform. È necessario modificare la password in seguito al corretto avvio di ThingWorx.
EXTPKG_IMPORT_POLICY_ENABLED
True/False
false
Controlla l'attivazione/disattivazione globale dell'importazione dei package di estensione tramite l'utilità Extension Package Uploader.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse Jar (Java). Se il valore è false e l'estensione contiene file jar, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JavaScript. Se il valore è false e l'estensione contiene file javascript, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse CSS. Se il valore è false e l'estensione contiene file css, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti risorse JSON. Se il valore è false e l'estensione contiene file json, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono risorse WebApps. Se il valore è false e l'estensione contiene file WebApp, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione che contengono definizioni di entità non estendibili. Se il valore è false e l'estensione contiene definizioni di entità non estendibili, diverse dall'entità package estensione, l'importazione non riesce.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
True/False
false
Controlla i permessi di importazione per i package di estensione contenenti definizioni di entità estendibili. Se il valore è false e l'estensione contiene definizioni di entità estendibili, diverse dall'entità package estensione, l'importazione non riesce.
È anche possibile modificare il percorso del volume utilizzando una posizione specifica del sito. Il percorso del volume utilizza la sintassi seguente:
"./percorso_montaggio_locale:/percorso_montaggio_contenitore"
Ad esempio:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Quando si aggiorna il percorso del volume, modificare solo il punto di montaggio locale poiché i punti di montaggio del contenitore interno non cambiano mai.