Configuration de ThingWorx Docker
Pour être rapidement opérationnels sur ThingWorx Docker, utilisez les paramètres par défaut applicables pour votre fournisseur de contenu. Vous pouvez également configurer le fichier de Docker Compose pour personnaliser les paramètres pour votre site. Cette section explique comment configurer les fichiers Docker Compose pour chaque fournisseur de contenu.
Configuration de HTTP Secure (HTTPS) et HTTP
Par défaut, le protocole HTTP est activé et le protocole HTTPS est désactivé dans les images ThingWorx fournies. Ce paramétrage convient pour les tests et le développement, mais ne se prête pas à une utilisation en production. PTC vous recommande vivement d'activer le protocole HTTPS pour une utilisation en environnement de production, afin de sécuriser de manière appropriée votre plateforme ThingWorx.
* 
Vous devez fournir un keystore pour le démarrage du conteneur dès lors que le protocole HTTPS est activé. A défaut, le conteneur quittera.
Pour configurer le protocole HTTPS pour vos images Docker :
1. Copiez le fichier keystore contenant vos certificats HTTPS dans le dossier ThingworxPlatform monté par Docker. Les montages de volume sont relatifs aux fichiers docker-composer. Cet emplacement est celui où les journaux et les fichiers de configuration sont stockés pour garantir la persistance dans les conteneurs.
Par défaut, le keystore doit être nommé keystore.jks. Vous pouvez remplacer ce nom au moyen des variables d'environnement SSL_KEYSTORE_FILENAME que nous décrirons ultérieurement.
Pour les exemples de fichier Docker Compose, copiez le fichier à l'emplacement suivant :
./thingworx-storage/shared/ThingworxPlatform
2. Assurez-vous que le fichier Docker Compose comporte une variable d'environnement SSL_KEYSTORE_PASSWORD définie sur le mot de passe de cryptage de votre keystore et que HTTPS_ENABLED est défini sur true.
3. Assurez-vous que le port 8443:8443 figure dans la section ports de votre fichier Docker Compose.
Pour activer le protocole HTTP :
1. Dans le fichier Docker Compose, assurez-vous que la variable d'environnement HTTP_ENABLED est définie sur true ou false, selon vos besoins.
La valeur par défaut est true.
2. Assurez-vous que le port 8080:8080 figure dans la section ports de votre fichier Docker Compose.
* 
Aux endroits où PASSWORD apparaît dans les fichiers, vous devez remplacer cette chaîne par le mot de passe approprié pour ThingWorx ou pour la base de données.
H2
Voici un exemple de fichier Docker Compose pour H2 utilisant un paramétrage de 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 mémoire initiale est définie sur 2 Go, et la mémoire maximale est fixée à 4 Go.
Vous pouvez ajouter les options suivantes dans la section environment du fichier pour contrôler la configuration de l'instance :
Noms de variable
Valeurs
Valeurs par défaut
Commentaires
INITIAL_HEAP
Number
2
Définit la mémoire initiale de l'instance en Go.
MAX_HEAP
Number
4
Définit la mémoire maximale de l'instance en Go.
ENABLE_HTTP
true/false
true
Active le connecteur HTTP sur Tomcat pour un trafic non sécurisé vers le conteneur.
ENABLE_HTTPS
true/false
false
Active le connecteur HTTPS sur Tomcat pour sécuriser le trafic vers le conteneur. Vous devez également fournir un keystore et définir la variable SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Chaîne
PASSWORD
Définit le mot de passe du keystore utilisé pour les communications SSL dans Tomcat.
SSL_KEYSTORE_BASE_PATH
Chaîne
/ThingworxPlatform
Définit le chemin d'accès au keystore SSL Tomcat. Si vous stockez le keystore à un emplacement dans le conteneur autre que le dossier par défaut, vous devez définir cette variable.
SSL_KEYSTORE_FILENAME
Chaîne
keystore.jks
Définit le nom de fichier du keystore SSL Tomcat. Si votre keystore possède un nom de fichier autre que celui par défaut, vous devez définir cette variable.
TOMCAT_SSL_PROTOCOLS
Chaîne
TLSv1.2
Spécifie le protocole SSL Tomcat. Définissez cette option si vous souhaitez remplacer les protocoles SSL acceptés dans Tomcat.
SERVER_HTTP_PORT
Chaîne
8080
Spécifie le port sur lequel Tomcat surveille les communications HTTP. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
SERVER_HTTPS_PORT
Chaîne
8443
Spécifie le port sur lequel Tomcat surveille les communications HTTPS. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
DOCKER_DEBUG
true/false
false
Active/désactive l'option d'enregistrement des informations de débogage au démarrage du conteneur. Notez que cet enregistrement peut inclure des informations sensibles.
LS_USERNAME
Chaîne
""
Spécifie votre nom d'utilisateur de connexion PTC pour la récupération de votre licence ThingWorx.
LS_PASSWORD
Chaîne
""
Spécifie votre mot de passe de connexion PTC pour la récupération de votre licence ThingWorx.
ENABLE_BACKUP
true/false
false
Active/désactive l'option de sauvegarde.
ENABLE_LOGGING
true/false
true
Active/désactive l'option de journalisation.
ENCRYPT_CREDENTIALS
true/false
false
Active/désactive l'option de cryptage des mots de passe pour les bases de données et les licences dans le fichier platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Chaîne
""
Définit le mot de passe initial de l'utilisateur Administrateur dans ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Le mot de passe peut être modifié une fois que ThingWorx a démarré.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Contrôle l'activation/désactivation globale de l'importation des packages d'extension via le Chargeur de packages d'extension.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources jar (Java). Si la valeur paramétrée est "false" et que l'extension contient des fichiers jar, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JavaScript. Si la valeur paramétrée est "false" et que l'extension contient des fichiers javascript, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources CSS. Si la valeur paramétrée est "false" et que l'extension contient des fichiers css, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JSON. Si la valeur paramétrée est "false" et que l'extension contient des fichiers JSON, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources WebApp. Si la valeur paramétrée est "false" et que l'extension contient des fichiers de ressources WebApp, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités non extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités non extensibles, autres que l'entité Package d'extension, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités extensibles, autres que l'entité Package d'extension, l'importation échouera.
Vous pouvez également remplacer le chemin du volume par un emplacement spécifique à votre site. Le chemin du volume utilise la syntaxe suivante :
"./chemin_vers_montage_local:/chemin_vers_montage_conteneur"
Par exemple :
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Lors de la mise à jour du chemin du volume, les points de montage du conteneur interne ne changeant jamais, contentez-vous de modifier le montage local.
Microsoft SQL Server
Voici un exemple de fichier Docker Compose pour Microsoft SQL Server utilisant un paramétrage de 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 mémoire initiale est définie sur 2 Go, et la mémoire maximale est fixée à 4 Go. Les montages de volume sont relatifs aux fichiers docker-composer. Cet emplacement est celui où les journaux et les fichiers de configuration sont stockés pour garantir la persistance dans les conteneurs.
Vous pouvez ajouter les options suivantes dans la section environment du fichier pour contrôler la configuration de l'instance :
Noms de variable
Valeurs
Valeurs par défaut
Commentaires
INITIAL_HEAP
Number
2
Définit la mémoire initiale de l'instance en Go.
MAX_HEAP
Number
4
Définit la mémoire maximale de l'instance en Go.
DATABASE_HOST
Chaîne
mssql
Spécifie le nom d'hôte, le nom de service ou l'adresse IP de l'hôte de la base de données SQL Server.
DATABASE_PORT
Number
1433
Spécifie le numéro de port de la base de données SQL Server.
DATABASE_ADMIN_USERNAME
Chaîne
SA
Spécifie le nom d'utilisateur administrateur de la base de données SQL Server.
DATABASE_ADMIN_PASSWORD
Chaîne
PASSWORD
Spécifie le mot de passe administrateur de la base de données SQL Server.
ENABLE_HTTP
true/false
true
Active le connecteur HTTP sur Tomcat pour un trafic non sécurisé vers le conteneur.
ENABLE_HTTPS
true/false
false
Active le connecteur HTTPS sur Tomcat pour sécuriser le trafic vers le conteneur. Vous devez également fournir un keystore et définir la variable SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Chaîne
PASSWORD
Spécifie le mot de passe du keystore utilisé pour les communications SSL dans Tomcat.
SSL_KEYSTORE_BASE_PATH
Chaîne
/ThingworxPlatform
Spécifie le chemin d'accès au keystore SSL Tomcat. Si vous stockez le keystore à un emplacement dans le conteneur autre que le dossier par défaut, vous devez définir cette variable.
SSL_KEYSTORE_FILENAME
Chaîne
keystore.jks
Spécifie le nom de fichier du keystore SSL Tomcat. Si votre keystore possède un nom de fichier autre que celui par défaut, vous devez définir cette variable.
TOMCAT_SSL_PROTOCOLS
Chaîne
TLSv1.2
Spécifie le protocole SSL Tomcat. Définissez cette option si vous souhaitez remplacer les protocoles SSL acceptés dans Tomcat.
SERVER_HTTP_PORT
Chaîne
8080
Spécifie le port sur lequel Tomcat surveille les communications HTTP. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
SERVER_HTTPS_PORT
Chaîne
8443
Spécifie le port sur lequel Tomcat surveille les communications HTTPS. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
DOCKER_DEBUG
true/false
false
Active/désactive l'option d'enregistrement des informations de débogage au démarrage du conteneur. Notez que cet enregistrement peut inclure des informations sensibles.
TWX_DATABASE_USERNAME
Chaîne
""
Spécifie l'utilisateur ThingWorx qui sera créé pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
TWX_DATABASE_PASSWORD
Chaîne
""
Spécifie le mot de passe de l'utilisateur ThingWorx pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
TWX_DATABASE_SCHEMA
Chaîne
""
Spécifie le nom de schéma de l'instance ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
LS_USERNAME
Chaîne
""
Spécifie votre nom d'utilisateur de connexion PTC pour la récupération de votre licence ThingWorx.
LS_PASSWORD
Chaîne
""
Spécifie votre mot de passe de connexion PTC pour la récupération de votre licence ThingWorx.
ENABLE_BACKUP
true/false
false
Active/désactive l'option de sauvegarde.
ENABLE_LOGGING
true/false
true
Active/désactive l'option de journalisation.
ENCRYPT_CREDENTIALS
true/false
false
Active/désactive l'option de cryptage des mots de passe pour les bases de données et les licences dans le fichier platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Chaîne
""
Définit le mot de passe initial de l'utilisateur Administrateur dans ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Le mot de passe peut être modifié une fois que ThingWorx a démarré.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Contrôle l'activation/désactivation globale de l'importation des packages d'extension via le Chargeur de packages d'extension.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources jar (Java). Si la valeur paramétrée est "false" et que l'extension contient des fichiers jar, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JavaScript. Si la valeur paramétrée est "false" et que l'extension contient des fichiers javascript, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources CSS. Si la valeur paramétrée est "false" et que l'extension contient des fichiers css, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JSON. Si la valeur paramétrée est "false" et que l'extension contient des fichiers JSON, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources WebApp. Si la valeur paramétrée est "false" et que l'extension contient des fichiers de ressources WebApp, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités non extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités non extensibles, autres que l'entité Package d'extension, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités extensibles, autres que l'entité Package d'extension, l'importation échouera.
Vous pouvez également remplacer le chemin du volume par un emplacement spécifique à votre site. Le chemin du volume utilise la syntaxe suivante :
"./chemin_vers_montage_local:/chemin_vers_montage_conteneur"
Par exemple :
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Lors de la mise à jour du chemin du volume, les points de montage du conteneur interne ne changeant jamais, contentez-vous de modifier le montage local.
L'image Docker de MS SQL Server est fournie pour faciliter les tests. N'utilisez pas l'image Docker fournie de MS SQL Server en environnement de production. A titre de bonne pratique, il vous est recommandé de configurer votre propre environnement MS SQL Server pour la production.
Pour vous connecter à une base de données Microsoft SQL Server qui existe hors de Docker, supprimez le service mssql du fichier Compose et ajoutez les variables suivantes aux variables d'environnement platform :
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Il s'agit là des comptes d'administrateur sur votre base de données Microsoft SQL Server autorisés à créer un utilisateur, une base de données ou un schéma que le conteneur ThingWorx charge au premier démarrage. Consultez la rubrique Utilisation d'une base de données Microsoft SQL Server externe pour ThingWorx Docker pour obtenir un exemple de fichier Compose avec la plateforme configurée pour utiliser une base de données Microsoft SQL Server externe.
Si vous utilisez une base de données externe, vous pouvez installer manuellement le schéma ThingWorx et vous abstenir de fournir des informations d'identification d'administrateur pour le conteneur ThingWorx Docker. Pour ce faire, définissez les variables DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD et TWX_DATABASE_SCHEMA de manière appropriée.
PostgreSQL
Voici un exemple de fichier Docker Compose pour PostgreSQL utilisant un paramétrage de 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 mémoire initiale est définie sur 2 Go, et la mémoire maximale est fixée à 4 Go. Les montages de volume sont relatifs aux fichiers docker-composer. Cet emplacement est celui où les journaux et les fichiers de configuration sont stockés pour garantir la persistance dans les conteneurs.
Vous pouvez ajouter les options suivantes dans la section environment du fichier pour contrôler la configuration de l'instance :
Noms de variable
Valeurs
Valeurs par défaut
Commentaires
INITIAL_HEAP
Number
2
Définit la mémoire initiale de l'instance en Go.
MAX_HEAP
Number
4
Définit la mémoire maximale de l'instance en Go.
DATABASE_HOST
Chaîne
postgressql
Spécifie le nom d'hôte, le nom de service ou l'adresse IP de l'hôte de la base de données PostgreSQL.
DATABASE_PORT
Number
5432
Spécifie le numéro de port de la base de données PostgreSQL.
DATABASE_ADMIN_USERNAME
Chaîne
postgres
Spécifie le nom d'utilisateur administrateur de la base de données PostgreSQL.
DATABASE_ADMIN_PASSWORD
Chaîne
PASSWORD
Spécifie le mot de passe administrateur de la base de données PostgreSQL.
ENABLE_HTTP
true/false
true
Active le connecteur HTTP sur Tomcat pour un trafic non sécurisé vers le conteneur.
ENABLE_HTTPS
true/false
false
Active le connecteur HTTPS sur Tomcat pour sécuriser le trafic vers le conteneur. Vous devez également fournir un keystore et définir la variable SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Chaîne
PASSWORD
Spécifie le mot de passe du keystore utilisé pour les communications SSL dans Tomcat.
SSL_KEYSTORE_BASE_PATH
Chaîne
/ThingworxPlatform
Spécifie le chemin d'accès au keystore SSL Tomcat. Si vous stockez le keystore à un emplacement dans le conteneur autre que le dossier par défaut, vous devez définir cette variable.
SSL_KEYSTORE_FILENAME
Chaîne
keystore.jks
Spécifie le nom de fichier du keystore SSL Tomcat. Si votre keystore possède un nom de fichier autre que celui par défaut, vous devez définir cette variable.
TOMCAT_SSL_PROTOCOLS
Chaîne
TLSv1.2
Spécifie le protocole SSL Tomcat. Définissez cette option si vous souhaitez remplacer les protocoles SSL acceptés dans Tomcat.
SERVER_HTTP_PORT
Chaîne
8080
Spécifie le port sur lequel Tomcat surveille les communications HTTP. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
SERVER_HTTPS_PORT
Chaîne
8443
Spécifie le port sur lequel Tomcat surveille les communications HTTPS. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
DOCKER_DEBUG
true/false
false
Active/désactive l'option d'enregistrement des informations de débogage au démarrage du conteneur. Notez que cet enregistrement peut inclure des informations sensibles.
TWX_DATABASE_USERNAME
Chaîne
""
Spécifie l'utilisateur ThingWorx qui sera créé pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Notez que pour PostgreSQL, TWX_DATABASE_USERNAME :
doit correspondre à TWX_DATABASE_SCHEMA en raison d'une limitation de l'implémentation existante ;
ne doit pas prendre la valeur postgres.
TWX_DATABASE_PASSWORD
Chaîne
""
Spécifie le mot de passe de l'utilisateur ThingWorx pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
TWX_DATABASE_SCHEMA
Chaîne
""
Spécifie le nom de schéma de l'instance ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Notez que pour PostgreSQL, TWX_DATABASE_USERNAME doit correspondre à TWX_DATABASE_SCHEMA en raison d'une limitation de l'implémentation existante.
TABLESPACE_LOCATION
Chaîne
/ThingworxPostgresqlStorage
Spécifie l'emplacement de l'espace de table sur le serveur de base de données.
IS_RDS
yes/no
no
Active/désactive l'option de connexion à une base de données PostgreSQL RDS.
LS_USERNAME
Chaîne
""
Spécifie votre nom d'utilisateur de connexion PTC pour la récupération de votre licence ThingWorx.
LS_PASSWORD
Chaîne
""
Spécifie votre mot de passe de connexion PTC pour la récupération de votre licence ThingWorx.
ENABLE_BACKUP
true/false
false
Active/désactive l'option de sauvegarde.
ENABLE_LOGGING
true/false
true
Active/désactive l'option de journalisation.
ENCRYPT_CREDENTIALS
true/false
false
Active/désactive l'option de cryptage des mots de passe pour les bases de données et les licences dans le fichier platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Chaîne
""
Définit le mot de passe initial de l'utilisateur Administrateur dans ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Le mot de passe peut être modifié une fois que ThingWorx a démarré.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Contrôle l'activation/désactivation globale de l'importation des packages d'extension via le Chargeur de packages d'extension.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources jar (Java). Si la valeur paramétrée est "false" et que l'extension contient des fichiers jar, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JavaScript. Si la valeur paramétrée est "false" et que l'extension contient des fichiers javascript, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources CSS. Si la valeur paramétrée est "false" et que l'extension contient des fichiers css, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JSON. Si la valeur paramétrée est "false" et que l'extension contient des fichiers JSON, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources WebApp. Si la valeur paramétrée est "false" et que l'extension contient des fichiers de ressources WebApp, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités non extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités non extensibles, autres que l'entité Package d'extension, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités extensibles, autres que l'entité Package d'extension, l'importation échouera.
POSTGRES_USER
Chaîne
""
Spécifie le nom d'utilisateur administrateur de la base de données PostgreSQL.
POSTGRES_PASSWORD
Chaîne
""
Spécifie le mot de passe administrateur de la base de données PostgreSQL.
POSTGRES_DB
Chaîne
""
Spécifie le nom de la base de données PostgreSQL.
Vous trouverez d'autres variables de POSTGRESQL avec leurs informations détaillées sur le site Docker Hub.
Vous pouvez également remplacer le chemin du volume par un emplacement spécifique à votre site. Le chemin du volume utilise la syntaxe suivante :
"./chemin_vers_montage_local:/chemin_vers_montage_conteneur"
Par exemple :
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Lors de la mise à jour du chemin du volume, les points de montage du conteneur interne ne changeant jamais, contentez-vous de modifier le montage local.
L'image Docker de PostgreSQL est fournie pour faciliter les tests. N'utilisez pas l'image Docker fournie de PostgreSQL en environnement de production. A titre de bonne pratique, il vous est recommandé de configurer votre propre environnement PostgreSQL pour la production.
Pour vous connecter à une base de données PostgreSQL qui existe hors de Docker, supprimez le service postgresql du fichier Compose et ajoutez les variables suivantes aux variables d'environnement platform :
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Il s'agit là des comptes d'administrateur sur votre base de données PostgreSQL autorisés à créer un utilisateur, une base de données ou un schéma que le conteneur ThingWorx charge au premier démarrage. Consultez la rubrique Utilisation d'une base de données PostgreSQL externe pour ThingWorx Docker pour obtenir un exemple de fichier Compose avec la plateforme configurée pour utiliser une base de données externe.
Si vous utilisez une base de données externe, vous pouvez installer manuellement le schéma ThingWorx de manière classique et vous abstenir de fournir des informations d'identification d'administrateur pour le conteneur ThingWorx Docker. Pour ce faire, définissez les variables DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD et TWX_DATABASE_SCHEMA de manière appropriée.
Azure SQL
* 
Vous devez disposer d'une base de données Azure SQL configurée dans Microsoft Azure pour pouvoir l'utiliser avec vos Dockerfiles ThingWorx. Pour plus d'informations sur la configuration d'une base de données Azure SQL, consultez la rubrique Utilisation d'Azure SQL Server en tant que fournisseur de persistance.
Voici un exemple de fichier Docker Compose pour Azure SQL utilisant un paramétrage de 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 mémoire initiale est définie sur 2 Go, et la mémoire maximale est fixée à 4 Go.
Vous pouvez ajouter les options suivantes dans la section environment du fichier pour contrôler la configuration de l'instance :
Noms de variable
Valeurs
Valeurs par défaut
Commentaires
INITIAL_HEAP
Number
2
Définit la mémoire initiale de l'instance en Go.
MAX_HEAP
Number
4
Définit la mémoire maximale de l'instance en Go.
DATABASE_HOST
Chaîne
N/A
Spécifie l'URL de la base de données Azure SQL.
DATABASE_ADMIN_USERNAME
Chaîne
N/A
Spécifie le nom d'utilisateur administrateur de la base de données Azure SQL. Définissez cette variable uniquement si vous souhaitez que le conteneur Docker crée le TWX_DATABASE_USERNAME et initialise les tables de base de données ThingWorx.
DATABASE_ADMIN_PASSWORD
Chaîne
N/A
Spécifie le mot de passe administrateur de la base de données Azure SQL. Définissez cette variable uniquement si vous souhaitez que le conteneur Docker crée le TWX_DATABASE_USERNAME et initialise les tables de base de données ThingWorx.
ENABLE_HTTP
true/false
true
Active le connecteur HTTP sur Tomcat pour un trafic non sécurisé vers le conteneur.
ENABLE_HTTPS
true/false
false
Active le connecteur HTTPS sur Tomcat pour sécuriser le trafic vers le conteneur. Vous devez également fournir un keystore et définir la variable SSL_KEYSTORE_PASSWORD
SSL_KEYSTORE_PASSWORD
Chaîne
PASSWORD
Spécifie le mot de passe du keystore utilisé pour les communications SSL dans Tomcat.
SSL_KEYSTORE_BASE_PATH
Chaîne
/ThingworxPlatform
Spécifie le chemin d'accès au keystore SSL Tomcat. Si vous stockez le keystore à un emplacement dans le conteneur autre que le dossier par défaut, vous devez définir cette variable.
SSL_KEYSTORE_FILENAME
Chaîne
keystore.jks
Spécifie le nom de fichier du keystore SSL Tomcat. Si votre keystore possède un nom de fichier autre que celui par défaut, vous devez définir cette variable.
TOMCAT_SSL_PROTOCOLS
Chaîne
TLSv1.2
Spécifie le protocole SSL Tomcat. Définissez cette option si vous souhaitez remplacer les protocoles SSL acceptés dans Tomcat.
SERVER_HTTP_PORT
Chaîne
8080
Spécifie le port sur lequel Tomcat surveille les communications HTTP. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
SERVER_HTTPS_PORT
Chaîne
8443
Spécifie le port sur lequel Tomcat surveille les communications HTTPS. Notez qu'en cas de modification de ce port, vous devez modifier les ports exposés dans le fichier Compose.
DOCKER_DEBUG
true/false
false
Active/désactive l'option d'enregistrement des informations de débogage au démarrage du conteneur. Notez que cet enregistrement peut inclure des informations sensibles.
TWX_DATABASE_USERNAME
Chaîne
""
Spécifie l'utilisateur ThingWorx qui sera créé pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
TWX_DATABASE_PASSWORD
Chaîne
""
Spécifie le mot de passe de l'utilisateur ThingWorx pour la base de données. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. La variable doit également respecter la stratégie en matière de mots de passe applicable pour la base de données Azure SQL. Pour plus de détails, consultez la page en anglais Password Policy (Stratégie de mot de passe).
TWX_DATABASE_SCHEMA
Chaîne
""
Spécifie le nom de schéma de l'instance ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx.
LS_USERNAME
Chaîne
""
Spécifie votre nom d'utilisateur de connexion PTC pour la récupération de votre licence ThingWorx.
LS_PASSWORD
Chaîne
""
Spécifie votre mot de passe de connexion PTC pour la récupération de votre licence ThingWorx.
ENABLE_BACKUP
true/false
false
Active/désactive l'option de sauvegarde.
ENABLE_LOGGING
true/false
true
Active/désactive l'option de journalisation.
ENCRYPT_CREDENTIALS
true/false
false
Active/désactive l'option de cryptage des mots de passe pour les bases de données et les licences dans le fichier platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Chaîne
""
Définit le mot de passe initial de l'utilisateur Administrateur dans ThingWorx. Cette variable doit être définie manuellement avant le démarrage de la plateforme ThingWorx. Le mot de passe peut être modifié une fois que ThingWorx a démarré.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Contrôle l'activation/désactivation globale de l'importation des packages d'extension via le Chargeur de packages d'extension.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources jar (Java). Si la valeur paramétrée est "false" et que l'extension contient des fichiers jar, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JavaScript. Si la valeur paramétrée est "false" et que l'extension contient des fichiers javascript, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources CSS. Si la valeur paramétrée est "false" et que l'extension contient des fichiers css, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources JSON. Si la valeur paramétrée est "false" et que l'extension contient des fichiers JSON, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des ressources WebApp. Si la valeur paramétrée est "false" et que l'extension contient des fichiers de ressources WebApp, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités non extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités non extensibles, autres que l'entité Package d'extension, l'importation échouera.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Contrôle les permissions d'importation applicables pour les packages d'extension contenant des définitions d'entités extensibles. Si la valeur paramétrée est "false" et que l'extension contient des définitions d'entités extensibles, autres que l'entité Package d'extension, l'importation échouera.
Vous pouvez également remplacer le chemin du volume par un emplacement spécifique à votre site. Le chemin du volume utilise la syntaxe suivante :
"./chemin_vers_montage_local:/chemin_vers_montage_conteneur"
Par exemple :
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Lors de la mise à jour du chemin du volume, les points de montage du conteneur interne ne changeant jamais, contentez-vous de modifier le montage local.