ThingWorx Docker konfigurieren
Verwenden Sie die Standardeinstellungen für Ihren Inhaltsanbieter, um schnell mit ThingWorx Docker zu starten. Sie können auch die Docker Compose-Datei konfigurieren, um die Einstellungen für Ihre Umgebung anzupassen. In diesem Abschnitt wird beschrieben, wie die Docker Compose-Dateien für die unterschiedlichen Inhaltsanbieter konfiguriert werden.
HTTP Secure (HTTPS) und HTTP konfigurieren
In den bereitgestellten ThingWorx Images ist standardmäßig HTTP aktiviert und HTTPS deaktiviert. Dies ist für Tests und Entwicklung nützlich, jedoch nicht für die Verwendung in der Produktion. PTC empfiehlt dringend, HTTPS zu aktivieren, wenn Sie den Einsatz in einem Produktionsszenario beabsichtigen, um Ihre ThingWorx Plattform angemessen zu sichern.
* 
Sie müssen einen Keystore angeben, um den Container zu starten, wenn HTTPS aktiviert ist. Andernfalls wird der Container beendet.
So konfigurieren Sie HTTPS für die Docker-Images:
1. Kopieren Sie die Keystore-Datei, die ihre HTTPS-Zertifikate enthält, in den auf dem Docker bereitgestellten ThingworxPlatform-Ordner. Die Volumebereitstellungen beziehen sich auf Docker Compose-Dateien. Dies ist der Speicherort, an dem die Protokolle und Konfigurationsdateien gespeichert werden, um Persistenz in den Containern zu ermöglichen.
Standardmäßig muss der Keystore keystore.jks genannt werden. Sie können dies mit den später beschriebenen SSL_KEYSTORE_FILENAME-Umgebungsvariablen überschreiben.
Kopieren Sie die Datei hier, um die Docker Compose-Beispieldateien zu erstellen:
./thingworx-storage/shared/ThingworxPlatform
2. Stellen Sie sicher, dass die Docker Compose-Datei eine SSL_KEYSTORE_PASSWORD-Umgebungsvariable enthält, die auf das Verschlüsselungspasswort Ihres Keystores festgelegt ist, und dass HTTPS_ENABLED auf true festgelegt ist.
3. Stellen Sie sicher, dass sich Port 8443:8443 im Abschnitt ports Ihrer Docker Compose-Datei befindet.
So aktivieren Sie HTTP:
1. Stellen Sie sicher, dass in der Docker Compose-Datei eine HTTP_ENABLED-Umgebungsvariable je nach Ihren Anforderungen auf true oder false festgelegt ist.
Die Standardeinstellung ist true.
2. Stellen Sie sicher, dass sich Port 8080:8080 im Abschnitt ports Ihrer Docker Compose-Datei befindet.
* 
Wenn PASSWORD in den Dateien angezeigt wird, müssen Sie dies durch das Passwort für ThingWorx oder für die Datenbank ersetzen.
H2
Das folgende Beispiel ist eine Docker Compose-Datei für H2 mit einigen grundlegenden Einstellungen:
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"
* 
Der anfängliche Arbeitsspeicher wird auf 2 GB festgelegt und der maximale Arbeitsspeicher auf 4 GB.
Sie können dem Abschnitt environment der Datei die folgenden Optionen hinzufügen, um die Konfiguration dieser Instanz zu steuern:
Variablennamen
Werte
Standardwerte
Kommentare
INITIAL_HEAP
Zahl
2
Legt die anfängliche Speichergröße für die Instanz in GB fest.
MAX_HEAP
Zahl
4
Legt die maximale Speichergröße für die Instanz in GB fest.
ENABLE_HTTP
wahr/falsch
wahr
Aktiviert den HTTP-Konnektor in Tomcat für ungesicherten Datenverkehr zum Container.
ENABLE_HTTPS
wahr/falsch
falsch
Aktiviert den HTTPS-Konnektor in Tomcat für gesicherten Datenverkehr zum Container. Sie müssen auch einen Keystore angeben, und SSL_KEYSTORE_PASSWORD muss festgelegt werden.
SSL_KEYSTORE_PASSWORD
Zeichenfolge
PASSWORD
Legt das Passwort für den Keystore fest, der für die SSL-Kommunikation in Tomcat verwendet wird.
SSL_KEYSTORE_BASE_PATH
Zeichenfolge
/ThingworxPlatform
Legt den Pfad zum Tomcat-SSL-Keystore fest. Wenn Sie den Keystore im Container an einem anderen Speicherort als dem Standardordner speichern, müssen Sie diese Variable festlegen.
SSL_KEYSTORE_FILENAME
Zeichenfolge
keystore.jks
Legt den Dateinamen für den Tomcat-SSL-Keystore fest. Wenn Ihr Keystore einen anderen Dateinamen als den Standardnamen aufweist, müssen Sie diese Variable festlegen.
TOMCAT_SSL_PROTOCOLS
Zeichenfolge
TLSv1.2
Gibt das Tomcat-SSL-Protokoll an. Legen Sie dies fest, wenn Sie die akzeptierten SSL-Protokolle in Tomcat überschreiben möchten.
SERVER_HTTP_PORT
Zeichenfolge
8080
Gibt den Port an, den Tomcat für die HTTP-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
SERVER_HTTPS_PORT
Zeichenfolge
8443
Gibt den Port an, den Tomcat für die HTTPS-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
DOCKER_DEBUG
wahr/falsch
falsch
Schaltet die Option zum Aufzeichnen von Debug-Informationen beim Starten des Containers um. Beachten Sie, dass dies möglicherweise vertrauliche Informationen umfasst.
LS_USERNAME
Zeichenfolge
""
Gibt Ihren PTC Anmeldebenutzernamen für den Erwerb Ihrer ThingWorx Lizenz an.
LS_PASSWORD
Zeichenfolge
""
Gibt Ihr PTC Anmeldepasswort für den Erwerb Ihrer ThingWorx Lizenz an.
ENABLE_BACKUP
wahr/falsch
falsch
Schaltet die Option für Sicherungen um.
ENABLE_LOGGING
wahr/falsch
wahr
Schaltet die Option für die Protokollierung um.
ENCRYPT_CREDENTIALS
wahr/falsch
falsch
Schaltet die Option zum Verschlüsseln von Passwörtern für Datenbanken und Lizenzierung in der Datei platform-settings.json um.
THINGWORX_INITIAL_PASSWORD
Zeichenfolge
""
Legt das anfängliche Passwort für den Administratorbenutzer in ThingWorx fest. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Dieses Passwort kann geändert werden, nachdem ThingWorx erfolgreich gestartet wurde.
EXTPKG_IMPORT_POLICY_ENABLED
wahr/falsch
falsch
Steuert die globale Aktivierung/Deaktivierung des Erweiterungspaket-Imports über das Uploadprogramm für Erweiterungspakete.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die jar-Ressourcen (Java) enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung jar-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JavaScript-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung javascript-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die CSS-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung css-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JSON-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung json-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
wahr/falsch
falsch
Steuert die Importberechtigungen für Erweiterungspakete, die WebApps-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung WebApp-Ressourcendateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die nicht erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung nicht erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
Sie können auch den Volumepfad zu einem Speicherort auf Ihrer Site ändern. Der Volumepfad verwendet die folgende Syntax:
"./path_to_local_mount:/path_to_container_mount"
Beispiel:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Ändern Sie beim Aktualisieren des Volumepfads nur die lokale Bereitstellung, da sich die Bereitstellungspunkte des internen Containers nie ändern.
Microsoft SQL Server
Das folgende Beispiel ist eine Docker Compose-Datei für Microsoft SQL Server mit einigen grundlegenden Einstellungen:
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"
* 
Der anfängliche Arbeitsspeicher wird auf 2 GB festgelegt und der maximale Arbeitsspeicher auf 4 GB. Die Volumebereitstellungen beziehen sich auf docker-compose-Dateien. Dies ist der Speicherort, an dem die Protokolle und Konfigurationsdateien gespeichert werden, um Persistenz in den Containern zu ermöglichen.
Sie können dem Abschnitt environment der Datei die folgenden Optionen hinzufügen, um die Konfiguration dieser Instanz zu steuern:
Variablennamen
Werte
Standardwerte
Kommentare
INITIAL_HEAP
Zahl
2
Legt die anfängliche Speichergröße für die Instanz in GB fest.
MAX_HEAP
Zahl
4
Legt die maximale Speichergröße für die Instanz in GB fest.
DATABASE_HOST
Zeichenfolge
mssql
Gibt den Hostnamen, den Dienstnamen oder die IP-Adresse des SQL Server-Datenbank-Hosts an.
DATABASE_PORT
Zahl
1433
Gibt die Portnummer für die SQL Server-Datenbank an.
DATABASE_ADMIN_USERNAME
Zeichenfolge
SA
Gibt den Administrator-Benutzernamen für die SQL Server-Datenbank an.
DATABASE_ADMIN_PASSWORD
Zeichenfolge
PASSWORD
Gibt das Administratorpasswort für die SQL Server-Datenbank an.
ENABLE_HTTP
wahr/falsch
wahr
Aktiviert den HTTP-Konnektor in Tomcat für ungesicherten Datenverkehr zum Container.
ENABLE_HTTPS
wahr/falsch
falsch
Aktiviert den HTTPS-Konnektor in Tomcat für gesicherten Datenverkehr zum Container. Sie müssen auch einen Keystore angeben und SSL_KEYSTORE_PASSWORD festlegen.
SSL_KEYSTORE_PASSWORD
Zeichenfolge
PASSWORD
Gibt das Passwort für den Keystore an, der für die SSL-Kommunikation in Tomcat verwendet wird.
SSL_KEYSTORE_BASE_PATH
Zeichenfolge
/ThingworxPlatform
Gibt den Pfad zum Tomcat-SSL-Keystore an. Wenn Sie den Keystore im Container an einem anderen Speicherort als dem Standardordner speichern, müssen Sie diese Variable festlegen.
SSL_KEYSTORE_FILENAME
Zeichenfolge
keystore.jks
Gibt den Dateinamen für den Tomcat-SSL-Keystore an. Wenn Ihr Keystore einen anderen Dateinamen als den Standardnamen aufweist, müssen Sie diese Variable festlegen.
TOMCAT_SSL_PROTOCOLS
Zeichenfolge
TLSv1.2
Gibt das Tomcat-SSL-Protokoll an. Legen Sie dies fest, wenn Sie die akzeptierten SSL-Protokolle in Tomcat überschreiben möchten.
SERVER_HTTP_PORT
Zeichenfolge
8080
Gibt den Port an, den Tomcat für die HTTP-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
SERVER_HTTPS_PORT
Zeichenfolge
8443
Gibt den Port an, den Tomcat für die HTTPS-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
DOCKER_DEBUG
wahr/falsch
falsch
Schaltet die Option zum Aufzeichnen von Debug-Informationen beim Starten des Containers um. Beachten Sie, dass dies möglicherweise vertrauliche Informationen umfasst.
TWX_DATABASE_USERNAME
Zeichenfolge
""
Gibt den ThingWorx Benutzer an, der für die Datenbank erstellt wird. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
TWX_DATABASE_PASSWORD
Zeichenfolge
""
Gibt das Passwort für den ThingWorx Benutzer für die Datenbank an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
TWX_DATABASE_SCHEMA
Zeichenfolge
""
Gibt den Schemanamen für die ThingWorx Instanz an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
LS_USERNAME
Zeichenfolge
""
Gibt den PTC Anmeldebenutzernamen für den Erwerb Ihrer ThingWorx Lizenz an.
LS_PASSWORD
Zeichenfolge
""
Gibt Ihr PTC Anmeldepasswort für den Erwerb Ihrer ThingWorx Lizenz an.
ENABLE_BACKUP
wahr/falsch
falsch
Schaltet die Option für Sicherungen um.
ENABLE_LOGGING
wahr/falsch
wahr
Schaltet die Option für die Protokollierung um.
ENCRYPT_CREDENTIALS
wahr/falsch
falsch
Schaltet die Option zum Verschlüsseln von Passwörtern für Datenbanken und Lizenzierung in der Datei platform-settings.json um.
THINGWORX_INITIAL_PASSWORD
Zeichenfolge
""
Legt das anfängliche Passwort für den Administratorbenutzer in ThingWorx fest. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Dieses Passwort kann geändert werden, nachdem ThingWorx erfolgreich gestartet wurde.
EXTPKG_IMPORT_POLICY_ENABLED
wahr/falsch
falsch
Steuert die globale Aktivierung/Deaktivierung des Erweiterungspaket-Imports über das Uploadprogramm für Erweiterungspakete.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die jar-Ressourcen (Java) enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung jar-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JavaScript-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung javascript-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die CSS-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung css-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JSON-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung json-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
wahr/falsch
falsch
Steuert die Importberechtigungen für Erweiterungspakete, die WebApps-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung WebApp-Ressourcendateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die nicht erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung nicht erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
Sie können auch den Volumepfad zu einem Speicherort auf Ihrer Site ändern. Der Volumepfad verwendet die folgende Syntax:
"./path_to_local_mount:/path_to_container_mount"
Beispiel:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Ändern Sie beim Aktualisieren des Volumepfads nur die lokale Bereitstellung, da sich die Bereitstellungspunkte des internen Containers nie ändern.
Das Docker-Image für MS SQL Server wird zur einfacheren Prüfung bereitgestellt. Verwenden Sie das bereitgestellte MS SQL Server-Docker-Image nicht für die Produktion. Als optimale Vorgehensweise sollten Sie eine eigene MS SQL Server-Umgebung für die Produktion einrichten.
Um eine Verbindung zu einer Microsoft SQL Server-Datenbank herzustellen, die außerhalb des Dockers vorhanden ist, entfernen Sie den mssql-Dienst aus der Compose-Datei, und fügen Sie die folgenden Variablen zu den platform-Umgebungsvariablen hinzu:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Dies sind die Administratorkonten in Ihrer Microsoft SQL Server-Datenbank, die autorisiert sind, einen Benutzer, eine Datenbank oder ein Schema zu erstellen, die der ThingWorx Container beim ersten Start lädt. Unter Externe Microsoft SQL Server-Datenbank für ThingWorx Docker verwenden finden Sie eine beispielhafte Compose-Datei mit dem Platform-Setup für die Verwendung einer externen Microsoft SQL Server-Datenbank.
Wenn Sie eine externe Datenbank verwenden, können Sie das ThingWorx Schema manuell installieren und keine Administratoranmeldeinformationen für den ThingWorx Docker-Container angeben. Legen Sie hierzu die Variablen DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD und TWX_DATABASE_SCHEMA entsprechend fest.
PostgreSQL
Das folgende Beispiel ist eine Docker Compose-Datei für PostgreSQL mit einigen grundlegenden Einstellungen:
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"
* 
Der anfängliche Arbeitsspeicher wird auf 2 GB festgelegt und der maximale Arbeitsspeicher auf 4 GB. Die Volumebereitstellungen beziehen sich auf docker-compose-Dateien. Dies ist der Speicherort, an dem die Protokolle und Konfigurationsdateien gespeichert werden, um Persistenz in den Containern zu ermöglichen.
Sie können dem Abschnitt environment der Datei die folgenden Optionen hinzufügen, um die Konfiguration dieser Instanz zu steuern:
Variablennamen
Werte
Standardwerte
Kommentare
INITIAL_HEAP
Zahl
2
Legt die anfängliche Speichergröße für die Instanz in GB fest.
MAX_HEAP
Zahl
4
Legt die maximale Speichergröße für die Instanz in GB fest.
DATABASE_HOST
Zeichenfolge
postgressql
Gibt den Hostnamen, den Dienstnamen oder die IP-Adresse des PostgreSQL-Datenbank-Hosts an.
DATABASE_PORT
Zahl
5432
Gibt die Portnummer für die PostgreSQL-Datenbank an.
DATABASE_ADMIN_USERNAME
Zeichenfolge
postgres
Gibt den Administrator-Benutzernamen für die PostgreSQL-Datenbank an.
DATABASE_ADMIN_PASSWORD
Zeichenfolge
PASSWORD
Gibt das Administratorpasswort für die PostgreSQL-Datenbank an.
ENABLE_HTTP
wahr/falsch
wahr
Aktiviert den HTTP-Konnektor in Tomcat für ungesicherten Datenverkehr zum Container.
ENABLE_HTTPS
wahr/falsch
falsch
Aktiviert den HTTPS-Konnektor in Tomcat für gesicherten Datenverkehr zum Container. Sie müssen auch einen Keystore angeben und SSL_KEYSTORE_PASSWORD festlegen.
SSL_KEYSTORE_PASSWORD
Zeichenfolge
PASSWORD
Gibt das Passwort für den Keystore an, der für die SSL-Kommunikation in Tomcat verwendet wird.
SSL_KEYSTORE_BASE_PATH
Zeichenfolge
/ThingworxPlatform
Gibt den Pfad zum Tomcat-SSL-Keystore an. Wenn Sie den Keystore im Container an einem anderen Speicherort als dem Standardordner speichern, müssen Sie diese Variable festlegen.
SSL_KEYSTORE_FILENAME
Zeichenfolge
keystore.jks
Gibt den Dateinamen für den Tomcat-SSL-Keystore an. Wenn Ihr Keystore einen anderen Dateinamen als den Standardnamen aufweist, müssen Sie diese Variable festlegen.
TOMCAT_SSL_PROTOCOLS
Zeichenfolge
TLSv1.2
Gibt das Tomcat-SSL-Protokoll an. Legen Sie dies fest, wenn Sie die akzeptierten SSL-Protokolle in Tomcat überschreiben möchten.
SERVER_HTTP_PORT
Zeichenfolge
8080
Gibt den Port an, den Tomcat für die HTTP-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
SERVER_HTTPS_PORT
Zeichenfolge
8443
Gibt den Port an, den Tomcat für die HTTPS-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
DOCKER_DEBUG
wahr/falsch
falsch
Schaltet die Option zum Aufzeichnen von Debug-Informationen beim Starten des Containers um. Beachten Sie, dass dies möglicherweise vertrauliche Informationen umfasst.
TWX_DATABASE_USERNAME
Zeichenfolge
""
Gibt den ThingWorx Benutzer an, der für die Datenbank erstellt wird. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Beachten Sie, dass für PostgreSQL TWX_DATABASE_USERNAME:
aufgrund einer Beschränkung der vorhandenen Implementierung mit TWX_DATABASE_SCHEMA übereinstimmen muss
nicht postgres sein darf
TWX_DATABASE_PASSWORD
Zeichenfolge
""
Gibt das Passwort für den ThingWorx Benutzer für die Datenbank an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
TWX_DATABASE_SCHEMA
Zeichenfolge
""
Gibt den Schemanamen für die ThingWorx Instanz an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Beachten Sie, dass für PostgreSQL TWX_DATABASE_USERNAME aufgrund einer Beschränkung der vorhandenen Implementierung mit TWX_DATABASE_SCHEMA übereinstimmen muss.
TABLESPACE_LOCATION
Zeichenfolge
/ThingworxPostgresqlStorage
Gibt den Speicherort des Tablespace auf dem Datenbankserver an.
IS_RDS
ja/nein
nein
Schaltet die Option zum Herstellen einer Verbindung mit einer RDS-PostgreSQL-Datenbank um.
LS_USERNAME
Zeichenfolge
""
Gibt den PTC Anmeldebenutzernamen für den Erwerb Ihrer ThingWorx Lizenz an.
LS_PASSWORD
Zeichenfolge
""
Gibt das PTC Anmeldepasswort für den Erwerb Ihrer ThingWorx Lizenz an.
ENABLE_BACKUP
wahr/falsch
falsch
Schaltet die Option für Sicherungen um.
ENABLE_LOGGING
wahr/falsch
wahr
Schaltet die Option für die Protokollierung um.
ENCRYPT_CREDENTIALS
wahr/falsch
falsch
Schaltet die Option zum Verschlüsseln von Passwörtern für Datenbanken und Lizenzierung in der Datei platform-settings.json um.
THINGWORX_INITIAL_PASSWORD
Zeichenfolge
""
Legt das anfängliche Passwort für den Administratorbenutzer in ThingWorx fest. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Dieses Passwort kann geändert werden, nachdem ThingWorx erfolgreich gestartet wurde.
EXTPKG_IMPORT_POLICY_ENABLED
wahr/falsch
falsch
Steuert die globale Aktivierung/Deaktivierung des Erweiterungspaket-Imports über das Uploadprogramm für Erweiterungspakete.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die jar-Ressourcen (Java) enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung jar-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JavaScript-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung javascript-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die CSS-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung css-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JSON-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung json-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
wahr/falsch
falsch
Steuert die Importberechtigungen für Erweiterungspakete, die WebApps-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung WebApp-Ressourcendateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die nicht erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung nicht erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
POSTGRES_USER
Zeichenfolge
""
Gibt den Administrator-Benutzernamen für die PostgreSQL-Datenbank an.
POSTGRES_PASSWORD
Zeichenfolge
""
Gibt das Administratorpasswort für die PostgreSQL-Datenbank an.
POSTGRES_DB
Zeichenfolge
""
Gibt den Namen der PostgreSQL-Datenbank an.
Weitere Variablen für postgresql sowie deren Details finden Sie unter Docker Hub.
Sie können auch den Volumepfad zu einem Speicherort auf Ihrer Site ändern. Der Volumepfad verwendet die folgende Syntax:
"./path_to_local_mount:/path_to_container_mount"
Beispiel:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Ändern Sie beim Aktualisieren des Volumepfads nur die lokale Bereitstellung, da sich die Bereitstellungspunkte des internen Containers nie ändern.
Das PostgreSQL-Docker-Image wird zur einfacheren Prüfung bereitgestellt. Verwenden Sie nicht das für Produktionszwecke bereitgestellte Docker-Image von PostgreSQL. Als optimale Vorgehensweise sollten Sie eine eigene PostgreSQL-Umgebung für die Produktion einrichten.
Um eine Verbindung zu einer PostgreSQL-Datenbank herzustellen, die sich außerhalb des Dockers befindet, können Sie den postgresql-Dienst aus der Compose-Datei entfernen und den platform-Umgebungsvariablen die folgenden Variablen hinzufügen:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Dies sind Administratorkonten in Ihrer PostgreSQL-Datenbank, die autorisiert sind, einen Benutzer, eine Datenbank oder ein Schema zu erstellen, die der ThingWorx Container beim ersten Start lädt. Unter Externe PostgreSQL-Datenbank für ThingWorx Docker verwenden finden Sie eine beispielhafte Compose-Datei mit dem Platform-Setup für die Verwendung einer externen Datenbank.
Wenn Sie eine externe Datenbank verwenden, können Sie das ThingWorx Schema wie gewohnt manuell installieren und keine Administratoranmeldeinformationen für den ThingWorx Docker-Container angeben. Legen Sie hierzu die Variablen DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD und TWX_DATABASE_SCHEMA entsprechend fest.
Azure SQL
* 
Sie benötigen eine Azure SQL-Datenbank, die in Microsoft Azure konfiguriert ist, um sie mit ThingWorx Dockerfiles verwenden zu können. Informationen zum Einrichten einer Azure SQL-Datenbank finden Sie unter Azure SQL Server als Persistenzanbieter verwenden.
Das folgende Beispiel ist eine Docker Compose-Datei für Azure SQL mit einigen grundlegenden Einstellungen:
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="
* 
Der anfängliche Arbeitsspeicher wird auf 2 GB festgelegt und der maximale Arbeitsspeicher auf 4 GB.
Sie können dem Abschnitt environment der Datei die folgenden Optionen hinzufügen, um die Konfiguration dieser Instanz zu steuern:
Variablennamen
Werte
Standardwerte
Kommentare
INITIAL_HEAP
Zahl
2
Legt die anfängliche Speichergröße für die Instanz in GB fest.
MAX_HEAP
Zahl
4
Legt die maximale Speichergröße für die Instanz in GB fest.
DATABASE_HOST
Zeichenfolge
Nicht verfügbar
Gibt die URL für die Azure SQL-Datenbank an.
DATABASE_ADMIN_USERNAME
Zeichenfolge
Nicht verfügbar
Gibt den Administrator-Benutzernamen für die Azure SQL-Datenbank an. Nur festlegen, wenn der Docker-Container TWX_DATABASE_USERNAME erstellen und ThingWorx Datenbanktabellen initialisieren soll.
DATABASE_ADMIN_PASSWORD
Zeichenfolge
Nicht verfügbar
Gibt das Administratorpasswort für die Azure SQL-Datenbank an. Nur festlegen, wenn der Docker-Container TWX_DATABASE_USERNAME erstellen und ThingWorx Datenbanktabellen initialisieren soll.
ENABLE_HTTP
wahr/falsch
wahr
Aktiviert den HTTP-Konnektor in Tomcat für ungesicherten Datenverkehr zum Container.
ENABLE_HTTPS
wahr/falsch
falsch
Aktiviert den HTTPS-Konnektor in Tomcat für gesicherten Datenverkehr zum Container. Sie müssen auch einen Keystore angeben und SSL_KEYSTORE_PASSWORD festlegen.
SSL_KEYSTORE_PASSWORD
Zeichenfolge
PASSWORD
Gibt das Passwort für den Keystore an, der für die SSL-Kommunikation in Tomcat verwendet wird.
SSL_KEYSTORE_BASE_PATH
Zeichenfolge
/ThingworxPlatform
Gibt den Pfad zum Tomcat-SSL-Keystore an. Wenn Sie den Keystore im Container an einem anderen Speicherort als dem Standardordner speichern, müssen Sie diese Variable festlegen.
SSL_KEYSTORE_FILENAME
Zeichenfolge
keystore.jks
Gibt den Dateinamen für den Tomcat-SSL-Keystore an. Wenn Ihr Keystore einen anderen Dateinamen als den Standardnamen aufweist, müssen Sie diese Variable festlegen.
TOMCAT_SSL_PROTOCOLS
Zeichenfolge
TLSv1.2
Gibt das Tomcat-SSL-Protokoll an. Legen Sie dies fest, wenn Sie die akzeptierten SSL-Protokolle in Tomcat überschreiben möchten.
SERVER_HTTP_PORT
Zeichenfolge
8080
Gibt den Port an, den Tomcat für die HTTP-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
SERVER_HTTPS_PORT
Zeichenfolge
8443
Gibt den Port an, den Tomcat für die HTTPS-Kommunikation überwacht. Wenn dieser Port geändert wird, müssen Sie die verfügbaren Ports in der Compose-Datei ändern.
DOCKER_DEBUG
wahr/falsch
falsch
Schaltet die Option zum Aufzeichnen von Debug-Informationen beim Starten des Containers um. Beachten Sie, dass dies möglicherweise vertrauliche Informationen umfasst.
TWX_DATABASE_USERNAME
Zeichenfolge
""
Gibt den ThingWorx Benutzer an, der für die Datenbank erstellt wird. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
TWX_DATABASE_PASSWORD
Zeichenfolge
""
Gibt das Passwort für den ThingWorx Benutzer für die Datenbank an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Die Variable muss auch der Passwortrichtlinie für die Azure SQL-Datenbank entsprechen. Weitere Informationen finden Sie unter Password Policy.
TWX_DATABASE_SCHEMA
Zeichenfolge
""
Gibt den Schemanamen für die ThingWorx Instanz an. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden.
LS_USERNAME
Zeichenfolge
""
Gibt den PTC Anmeldebenutzernamen für den Erwerb Ihrer ThingWorx Lizenz an.
LS_PASSWORD
Zeichenfolge
""
Gibt das PTC Anmeldepasswort für den Erwerb Ihrer ThingWorx Lizenz an.
ENABLE_BACKUP
wahr/falsch
falsch
Schaltet die Option für Sicherungen um.
ENABLE_LOGGING
wahr/falsch
wahr
Schaltet die Option für die Protokollierung um.
ENCRYPT_CREDENTIALS
wahr/falsch
falsch
Schaltet die Option zum Verschlüsseln von Passwörtern für Datenbanken und Lizenzierung in der Datei platform-settings.json um.
THINGWORX_INITIAL_PASSWORD
Zeichenfolge
""
Legt das anfängliche Passwort für den Administratorbenutzer in ThingWorx fest. Diese Variable muss vor dem Starten der ThingWorx Plattform manuell festgelegt werden. Dieses Passwort kann geändert werden, nachdem ThingWorx erfolgreich gestartet wurde.
EXTPKG_IMPORT_POLICY_ENABLED
wahr/falsch
falsch
Steuert die globale Aktivierung/Deaktivierung des Erweiterungspaket-Imports über das Uploadprogramm für Erweiterungspakete.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die jar-Ressourcen (Java) enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung jar-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JavaScript-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung javascript-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die CSS-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung css-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die JSON-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung json-Dateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
wahr/falsch
falsch
Steuert die Importberechtigungen für Erweiterungspakete, die WebApps-Ressourcen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung WebApp-Ressourcendateien enthält, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die nicht erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung nicht erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
wahr/falsch
falsch
Steuert Importberechtigungen für Erweiterungspakete, die erweiterbare Entitätsdefinitionen enthalten. Bei Festlegung auf "falsch" und wenn die Erweiterung erweiterbare Entitätsdefinitionen enthält, bei denen es sich nicht um die Erweiterungspaketentität handelt, schlägt der Import fehl.
Sie können auch den Volumepfad zu einem Speicherort auf Ihrer Site ändern. Der Volumepfad verwendet die folgende Syntax:
"./path_to_local_mount:/path_to_container_mount"
Beispiel:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Ändern Sie beim Aktualisieren des Volumepfads nur die lokale Bereitstellung, da sich die Bereitstellungspunkte des internen Containers nie ändern.