Configuración de Docker de ThingWorx
Para estar operativo rápidamente con Docker de ThingWorx, utilice la configuración por defecto del proveedor de contenido. También se puede configurar el fichero de Docker Compose para personalizar la configuración del sitio. En esta sección se describe cómo configurar los ficheros de Docker Compose para cada proveedor de contenido.
Configuración de HTTP Secure (HTTPS) y HTTP
Por defecto, HTTP está activado y HTTPS está desactivado en las imágenes de ThingWorx proporcionadas. Esto es útil para pruebas y desarrollo, pero no para su uso en un entorno de producción. PTC recomienda encarecidamente activar HTTPS si se tiene previsto utilizarlo en un escenario de producción para proteger adecuadamente ThingWorx Platform.
* 
Si se activa HTTP, se debe proporcionar un almacén de claves para iniciar el contenedor. De lo contrario, el contenedor se cierra.
Para configurar HTTPS para las imágenes de Docker:
1. Copie el fichero del almacén de claves que contiene los certificados HTTPS en la carpeta ThingworxPlatform creada en Docker. Los montajes de volumen son relativos a los ficheros docker-compose. Esta es la ubicación donde los registros y los ficheros de configuración se almacenan para activar la persistencia en los contenedores.
Por defecto, el almacén de claves debe denominarse keystore.jks. Esto se puede sustituir con las variables de entorno SSL_KEYSTORE_FILENAME que se describen más adelante.
Para los ficheros de Docker Compose de ejemplo, copie el fichero aquí:
./thingworx-storage/shared/ThingworxPlatform
2. Asegúrese de que el fichero de Docker Compose tenga una variable de entorno SSL_KEYSTORE_PASSWORD definida en la contraseña de cifrado del almacén de claves y que HTTPS_ENABLED esté definido en true.
3. Asegúrese de que el puerto 8443:8443 se encuentre en la sección ports del fichero de Docker Compose.
Para activar HTTP:
1. En el fichero de Docker Compose, asegúrese de que exista una variable de entorno HTTP_ENABLED definida en true o false, en función de los requisitos.
El valor por defecto es true.
2. Asegúrese de que el puerto 8080:8080 se encuentre en la sección ports del fichero de Docker Compose.
* 
Cuando aparezca PASSWORD en los ficheros, se debe sustituir por la contraseña de ThingWorx o de la base de datos.
H2
El siguiente ejemplo es un fichero de Docker Compose para H2 con algunas opciones de configuración básicas:
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 inicial se define en 2 GB y la memoria máxima, en 4 GB.
Se pueden añadir las siguientes opciones a la sección environment del fichero para controlar la configuración de esta instancia:
Nombres de variable
Valores
Valores por defecto
Comentarios
INITIAL_HEAP
Número
2
Permite definir el tamaño de la memoria inicial para la instancia en GB.
MAX_HEAP
Número
4
Permite definir el tamaño máximo de la memoria para la instancia en GB.
ENABLE_HTTP
true/false
true
Permite activar el conector HTTP en Tomcat para el tráfico no seguro al contenedor.
ENABLE_HTTPS
true/false
false
Permite activar el conector HTTPS en Tomcat para el tráfico seguro al contenedor. También se debe proporcionar un almacén de claves y definir SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Cadena
PASSWORD
Permite definir la contraseña del almacén de claves que se utiliza para la comunicación SSL en Tomcat.
SSL_KEYSTORE_BASE_PATH
Cadena
/ThingworxPlatform
Permite definir la ruta al almacén de claves SSL de Tomcat. Si el almacén de claves se guarda en una ubicación del contenedor que no sea la carpeta por defecto, se debe definir esta variable.
SSL_KEYSTORE_FILENAME
Cadena
keystore.jks
Permite definir el nombre de fichero para el almacén de claves SSL de Tomcat. Si el almacén de claves tiene un nombre de fichero distinto del valor por defecto, se debe definir esta variable.
TOMCAT_SSL_PROTOCOLS
Cadena
TLSv1.2
Permite especificar el protocolo SSL de Tomcat. Defina esta opción si desea sustituir los protocolos SSL aceptados en Tomcat.
SERVER_HTTP_PORT
Cadena
8080
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTP. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
SERVER_HTTPS_PORT
Cadena
8443
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTPS. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
DOCKER_DEBUG
true/false
false
Permite alternar la opción de registro de información de depuración cuando se inicia el contenedor. Se debe tener en cuenta que esta opción puede incluir información confidencial.
LS_USERNAME
Cadena
""
Permite especificar el nombre de usuario de la conexión de PTC para obtener la licencia de ThingWorx.
LS_PASSWORD
Cadena
""
Permite especificar la contraseña de conexión de PTC para obtener la licencia de ThingWorx.
ENABLE_BACKUP
true/false
false
Permite alternar la opción de copias de seguridad.
ENABLE_LOGGING
true/false
true
Permite alternar la opción de registro.
ENCRYPT_CREDENTIALS
true/false
false
Permite alternar la opción para cifrar contraseñas de bases de datos y licencias en el fichero platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Cadena
""
Permite definir la contraseña inicial del usuario administrador en ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Esta contraseña se puede cambiar después de que ThingWorx se haya iniciado correctamente.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Permite controlar la activación y desactivación globales de la importación de paquetes de extensiones mediante el cargador de paquetes de extensiones.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Jar (Java). Si se define en false y la extensión contiene ficheros jar, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Javascript. Si se define en false y la extensión contiene ficheros javascript, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de CSS. Si se define en false y la extensión contiene ficheros css, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de JSON. Si se define en false y la extensión contiene ficheros json, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de WebApps. Si se define en false y la extensión contiene ficheros de recursos WebApp, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad no extensible. Si se define en false y la extensión contiene definiciones de entidades no extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad extensible. Si se define en false y la extensión contiene definiciones de entidades extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
También se puede cambiar la ruta del volumen a una ubicación específica del sitio. La ruta del volumen utiliza la siguiente sintaxis:
"./ruta_a_montaje_local:/ruta_a_montaje_de_contenedor"
Por ejemplo:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Al actualizar la ruta del volumen, se debe cambiar solamente el montaje local, ya que los puntos de montaje del contenedor interno no cambian nunca.
Microsoft SQL Server
El siguiente ejemplo es un fichero de Docker Compose para Microsoft SQL Server con algunas opciones de configuración básicas:
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 inicial se define en 2 GB y la memoria máxima, en 4 GB. Los montajes de volumen son relativos a los ficheros docker-compose. Esta es la ubicación donde los registros y los ficheros de configuración se almacenan para activar la persistencia en los contenedores.
Se pueden añadir las siguientes opciones a la sección environment del fichero para controlar la configuración de esta instancia:
Nombres de variable
Valores
Valores por defecto
Comentarios
INITIAL_HEAP
Número
2
Permite definir el tamaño de la memoria inicial para la instancia en GB.
MAX_HEAP
Número
4
Permite definir el tamaño máximo de la memoria para la instancia en GB.
DATABASE_HOST
Cadena
mssql
Permite especificar el nombre de host, el nombre de servicio o la dirección IP del host de la base de datos SQL Server.
DATABASE_PORT
Número
1433
Permite especificar el número de puerto para la base de datos SQL Server.
DATABASE_ADMIN_USERNAME
Cadena
SA
Permite especificar el nombre de usuario administrador para la base de datos SQL Server.
DATABASE_ADMIN_PASSWORD
Cadena
PASSWORD
Permite especificar la contraseña del administrador para la base de datos SQL Server.
ENABLE_HTTP
true/false
true
Permite activar el conector HTTP en Tomcat para el tráfico no seguro al contenedor.
ENABLE_HTTPS
true/false
false
Permite activar el conector HTTPS en Tomcat para el tráfico seguro al contenedor. También se debe proporcionar un almacén de claves y definir SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Cadena
PASSWORD
Permite especificar la contraseña del almacén de claves que se utiliza para la comunicación SSL en Tomcat.
SSL_KEYSTORE_BASE_PATH
Cadena
/ThingworxPlatform
Permite especificar la ruta al almacén de claves SSL de Tomcat. Si el almacén de claves se guarda en una ubicación del contenedor que no sea la carpeta por defecto, se debe definir esta variable.
SSL_KEYSTORE_FILENAME
Cadena
keystore.jks
Permite especificar el nombre de fichero para el almacén de claves SSL de Tomcat. Si el almacén de claves tiene un nombre de fichero distinto del valor por defecto, se debe definir esta variable.
TOMCAT_SSL_PROTOCOLS
Cadena
TLSv1.2
Permite especificar el protocolo SSL de Tomcat. Defina esta opción si desea sustituir los protocolos SSL aceptados en Tomcat.
SERVER_HTTP_PORT
Cadena
8080
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTP. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
SERVER_HTTPS_PORT
Cadena
8443
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTPS. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
DOCKER_DEBUG
true/false
false
Permite alternar la opción de registro de información de depuración cuando se inicia el contenedor. Se debe tener en cuenta que esta opción puede incluir información confidencial.
TWX_DATABASE_USERNAME
Cadena
""
Permite especificar el usuario de ThingWorx que se creará para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
TWX_DATABASE_PASSWORD
Cadena
""
Permite especificar la contraseña del usuario de ThingWorx para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
TWX_DATABASE_SCHEMA
Cadena
""
Permite especificar el nombre del esquema para la instancia de ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
LS_USERNAME
Cadena
""
Permite especificar el nombre de usuario de la conexión de PTC para obtener la licencia de ThingWorx.
LS_PASSWORD
Cadena
""
Permite especificar la contraseña de conexión de PTC para obtener la licencia de ThingWorx.
ENABLE_BACKUP
true/false
false
Permite alternar la opción de copias de seguridad.
ENABLE_LOGGING
true/false
true
Permite alternar la opción de registro.
ENCRYPT_CREDENTIALS
true/false
false
Permite alternar la opción para cifrar contraseñas de bases de datos y licencias en el fichero platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Cadena
""
Permite definir la contraseña inicial del usuario administrador en ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Esta contraseña se puede cambiar después de que ThingWorx se haya iniciado correctamente.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Permite controlar la activación y desactivación globales de la importación de paquetes de extensiones mediante el cargador de paquetes de extensiones.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Jar (Java). Si se define en false y la extensión contiene ficheros jar, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Javascript. Si se define en false y la extensión contiene ficheros javascript, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de CSS. Si se define en false y la extensión contiene ficheros css, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de JSON. Si se define en false y la extensión contiene ficheros json, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de WebApps. Si se define en false y la extensión contiene ficheros de recursos WebApp, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad no extensible. Si se define en false y la extensión contiene definiciones de entidades no extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad extensible. Si se define en false y la extensión contiene definiciones de entidades extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
También se puede cambiar la ruta del volumen a una ubicación específica del sitio. La ruta del volumen utiliza la siguiente sintaxis:
"./ruta_a_montaje_local:/ruta_a_montaje_de_contenedor"
Por ejemplo:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Al actualizar la ruta del volumen, se debe cambiar solamente el montaje local, ya que los puntos de montaje del contenedor interno no cambian nunca.
La imagen de Docker de MS SQL Server se proporciona para facilitar las pruebas. No se debe utilizar la imagen de Docker de MS SQL Server que se proporciona para producción. Como práctica recomendada, el usuario debe configurar su propio entorno de MS SQL Server para producción.
Para conectarse a una base de datos de Microsoft SQL Server que existe fuera de Docker, se debe quitar el servicio mssql del fichero Compose y añadir las siguientes variables a las variables del entorno de platform:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Se trata de cuentas de administrador de la base de datos de Microsoft SQL Server autorizadas para crear un usuario, una base de datos o un esquema que el contenedor de ThingWorx carga en el primer inicio. Consulte Uso de una base de datos externa de Microsoft SQL Server para Docker de ThingWorx para ver un fichero Compose de ejemplo con la configuración de la plataforma para utilizar una base de datos externa de Microsoft SQL Server.
Si se utiliza una base de datos externa, se puede instalar manualmente el esquema de ThingWorx y no proporcionar credenciales de administrador para el contenedor de Docker de ThingWorx. Para ello, se deben definir las variables DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORDy TWX_DATABASE_SCHEMA según corresponda.
PostgreSQL
El siguiente ejemplo es un fichero de Docker Compose para PostgreSQL con algunas opciones de configuración básicas:
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 inicial se define en 2 GB y la memoria máxima, en 4 GB. Los montajes de volumen son relativos a los ficheros docker-compose. Esta es la ubicación donde los registros y los ficheros de configuración se almacenan para activar la persistencia en los contenedores.
Se pueden añadir las siguientes opciones a la sección environment del fichero para controlar la configuración de esta instancia:
Nombres de variable
Valores
Valores por defecto
Comentarios
INITIAL_HEAP
Número
2
Permite definir el tamaño de la memoria inicial para la instancia en GB.
MAX_HEAP
Número
4
Permite definir el tamaño máximo de la memoria para la instancia en GB.
DATABASE_HOST
Cadena
postgressql
Permite especificar el nombre de host, el nombre de servicio o la dirección IP del host de la base de datos PostgreSQL.
DATABASE_PORT
Número
5432
Permite especificar el número de puerto para la base de datos PostgreSQL.
DATABASE_ADMIN_USERNAME
Cadena
postgres
Permite especificar el nombre de usuario administrador para la base de datos PostgreSQL.
DATABASE_ADMIN_PASSWORD
Cadena
PASSWORD
Permite especificar la contraseña del administrador para la base de datos PostgreSQL.
ENABLE_HTTP
true/false
true
Permite activar el conector HTTP en Tomcat para el tráfico no seguro al contenedor.
ENABLE_HTTPS
true/false
false
Permite activar el conector HTTPS en Tomcat para el tráfico seguro al contenedor. También se debe proporcionar un almacén de claves y definir SSL_KEYSTORE_PASSWORD
SSL_KEYSTORE_PASSWORD
Cadena
PASSWORD
Permite especificar la contraseña del almacén de claves que se utiliza para la comunicación SSL en Tomcat.
SSL_KEYSTORE_BASE_PATH
Cadena
/ThingworxPlatform
Permite especificar la ruta al almacén de claves SSL de Tomcat. Si el almacén de claves se guarda en una ubicación del contenedor que no sea la carpeta por defecto, se debe definir esta variable.
SSL_KEYSTORE_FILENAME
Cadena
keystore.jks
Permite especificar el nombre de fichero para el almacén de claves SSL de Tomcat. Si el almacén de claves tiene un nombre de fichero distinto del valor por defecto, se debe definir esta variable.
TOMCAT_SSL_PROTOCOLS
Cadena
TLSv1.2
Permite especificar el protocolo SSL de Tomcat. Defina esta opción si desea sustituir los protocolos SSL aceptados en Tomcat.
SERVER_HTTP_PORT
Cadena
8080
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTP. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
SERVER_HTTPS_PORT
Cadena
8443
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTPS. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
DOCKER_DEBUG
true/false
false
Permite alternar la opción de registro de información de depuración cuando se inicia el contenedor. Se debe tener en cuenta que esta opción puede incluir información confidencial.
TWX_DATABASE_USERNAME
Cadena
""
Permite especificar el usuario de ThingWorx que se creará para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Se debe tener en cuenta que para PostgreSQL, TWX_DATABASE_USERNAME:
Debe coincidir TWX_DATABASE_SCHEMA debido a una limitación de la implementación existente.
No debe ser postgres
TWX_DATABASE_PASSWORD
Cadena
""
Permite especificar la contraseña del usuario de ThingWorx para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
TWX_DATABASE_SCHEMA
Cadena
""
Permite especificar el nombre del esquema para la instancia de ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Se debe tener en cuenta que para PostgreSQL, TWX_DATABASE_USERNAME debe coincidir con TWX_DATABASE_SCHEMA debido a una limitación de la implementación existente.
TABLESPACE_LOCATION
Cadena
/ThingworxPostgresqlStorage
Permite especificar la ubicación del espacio de tabla en el servidor de bases de datos.
IS_RDS
sí/no
no
Permite alternar la opción de conexión a una base de datos PostgreSQL de RDS.
LS_USERNAME
Cadena
""
Permite especificar el nombre de usuario de la conexión de PTC para obtener la licencia de ThingWorx.
LS_PASSWORD
Cadena
""
Permite especificar la contraseña de conexión de PTC para obtener la licencia de ThingWorx.
ENABLE_BACKUP
true/false
false
Permite alternar la opción de copias de seguridad.
ENABLE_LOGGING
true/false
true
Permite alternar la opción de registro.
ENCRYPT_CREDENTIALS
true/false
false
Permite alternar la opción para cifrar contraseñas de bases de datos y licencias en el fichero platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Cadena
""
Permite definir la contraseña inicial del usuario administrador en ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Esta contraseña se puede cambiar después de que ThingWorx se haya iniciado correctamente.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Permite controlar la activación y desactivación globales de la importación de paquetes de extensiones mediante el cargador de paquetes de extensiones.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Jar (Java). Si se define en false y la extensión contiene ficheros jar, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Javascript. Si se define en false y la extensión contiene ficheros javascript, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de CSS. Si se define en false y la extensión contiene ficheros css, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de JSON. Si se define en false y la extensión contiene ficheros json, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de WebApps. Si se define en false y la extensión contiene ficheros de recursos WebApp, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad no extensible. Si se define en false y la extensión contiene definiciones de entidades no extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad extensible. Si se define en false y la extensión contiene definiciones de entidades extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
POSTGRES_USER
Cadena
""
Permite especificar el nombre de usuario administrador para la base de datos PostgreSQL.
POSTGRES_PASSWORD
Cadena
""
Permite especificar la contraseña del administrador para la base de datos PostgreSQL.
POSTGRES_DB
Cadena
""
Permite especificar el nombre de la base de datos PostgreSQL.
En Docker Hub se pueden encontrar variables adicionales para POSTGRESQL y sus detalles.
También se puede cambiar la ruta del volumen a una ubicación específica del sitio. La ruta del volumen utiliza la siguiente sintaxis:
"./ruta_a_montaje_local:/ruta_a_montaje_de_contenedor"
Por ejemplo:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Al actualizar la ruta del volumen, se debe cambiar solamente el montaje local, ya que los puntos de montaje del contenedor interno no cambian nunca.
La imagen de Docker de PostgreSQL se proporciona para facilitar las pruebas. No utilice la imagen de Docker de PostgreSQL que se proporciona para producción. Como práctica recomendada, configure un entorno de PostgreSQL propio para producción.
Para conectarse a una base de datos PostgreSQL incluida fuera de Docker, se puede quitar el servicio postgresql del fichero compose y añadir las siguientes variables a las variables del entorno de platform:
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
Se trata de cuentas de administrador en la base de datos PostgreSQL autorizadas para crear un usuario, una base de datos o un esquema que el contenedor de ThingWorx carga en el primer inicio. Consulte Uso de una base de datos externa de PostgreSQL para Docker de ThingWorx para ver un fichero Compose de ejemplo con la configuración de plataforma para utilizar una base de datos externa.
Si se utiliza una base de datos externa, se puede instalar manualmente el esquema de ThingWorx de la forma habitual y no proporcionar credenciales de administrador para el contenedor de Docker de ThingWorx. Para ello, se deben definir las variables DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORDy TWX_DATABASE_SCHEMA según corresponda.
Azure SQL
* 
Es necesario tener una base de datos Azure SQL configurada en Microsoft Azure para utilizarla con Dockerfiles de ThingWorx. Para obtener información sobre la configuración de una base de datos Azure SQL, consulte Utilización de Azure SQL Server como proveedor de persistencia.
El siguiente ejemplo es un fichero de Docker Compose para Azure SQL con algunas opciones de configuración básicas:
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 inicial se define en 2 GB y la memoria máxima, en 4 GB.
Se pueden añadir las siguientes opciones a la sección environment del fichero para controlar la configuración de esta instancia:
Nombres de variable
Valores
Valores por defecto
Comentarios
INITIAL_HEAP
Número
2
Permite definir el tamaño de la memoria inicial para la instancia en GB.
MAX_HEAP
Número
4
Permite definir el tamaño máximo de la memoria para la instancia en GB.
DATABASE_HOST
Cadena
N/D
Permite especificar el URL de la base de datos Azure SQL.
DATABASE_ADMIN_USERNAME
Cadena
N/D
Permite especificar el nombre de usuario administrador para la base de datos Azure SQL. Se define solo si desea que el contenedor de Docker cree TWX_DATABASE_USERNAME e inicialice tablas de base de datos de ThingWorx.
DATABASE_ADMIN_PASSWORD
Cadena
N/D
Permite especificar la contraseña del administrador de la base de datos Azure SQL. Se define solo si desea que el contenedor de Docker cree TWX_DATABASE_USERNAME e inicialice tablas de base de datos de ThingWorx.
ENABLE_HTTP
true/false
true
Permite activar el conector HTTP en Tomcat para el tráfico no seguro al contenedor.
ENABLE_HTTPS
true/false
false
Permite activar el conector HTTPS en Tomcat para el tráfico seguro al contenedor. También se debe proporcionar un almacén de claves y definir SSL_KEYSTORE_PASSWORD.
SSL_KEYSTORE_PASSWORD
Cadena
PASSWORD
Permite especificar la contraseña del almacén de claves que se utiliza para la comunicación SSL en Tomcat.
SSL_KEYSTORE_BASE_PATH
Cadena
/ThingworxPlatform
Permite especificar la ruta al almacén de claves SSL de Tomcat. Si el almacén de claves se guarda en una ubicación del contenedor que no sea la carpeta por defecto, se debe definir esta variable.
SSL_KEYSTORE_FILENAME
Cadena
keystore.jks
Permite especificar el nombre de fichero para el almacén de claves SSL de Tomcat. Si el almacén de claves tiene un nombre de fichero distinto del valor por defecto, se debe definir esta variable.
TOMCAT_SSL_PROTOCOLS
Cadena
TLSv1.2
Permite especificar el protocolo SSL de Tomcat. Defina esta opción si desea sustituir los protocolos SSL aceptados en Tomcat.
SERVER_HTTP_PORT
Cadena
8080
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTP. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
SERVER_HTTPS_PORT
Cadena
8443
Permite especificar el puerto que Tomcat supervisa para la comunicación HTTPS. Se debe tener en cuenta que si se modifica este puerto, se deben cambiar los puertos expuestos en el fichero Compose.
DOCKER_DEBUG
true/false
false
Permite alternar la opción de registro de información de depuración cuando se inicia el contenedor. Se debe tener en cuenta que esta opción puede incluir información confidencial.
TWX_DATABASE_USERNAME
Cadena
""
Permite especificar el usuario de ThingWorx que se creará para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
TWX_DATABASE_PASSWORD
Cadena
""
Permite especificar la contraseña del usuario de ThingWorx para la base de datos. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. La variable también debe ajustarse a la directiva de contraseñas de Azure SQL Database. Consulte Directiva de contraseñas para obtener más información.
TWX_DATABASE_SCHEMA
Cadena
""
Permite especificar el nombre del esquema para la instancia de ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform.
LS_USERNAME
Cadena
""
Permite especificar el nombre de usuario de la conexión de PTC para obtener la licencia de ThingWorx.
LS_PASSWORD
Cadena
""
Permite especificar la contraseña de conexión de PTC para obtener la licencia de ThingWorx.
ENABLE_BACKUP
true/false
false
Permite alternar la opción de copias de seguridad.
ENABLE_LOGGING
true/false
true
Permite alternar la opción de registro.
ENCRYPT_CREDENTIALS
true/false
false
Permite alternar la opción para cifrar contraseñas de bases de datos y licencias en el fichero platform-settings.json.
THINGWORX_INITIAL_PASSWORD
Cadena
""
Permite definir la contraseña inicial del usuario administrador en ThingWorx. Esta variable se debe definir manualmente antes de iniciar ThingWorx Platform. Esta contraseña se puede cambiar después de que ThingWorx se haya iniciado correctamente.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
Permite controlar la activación y desactivación globales de la importación de paquetes de extensiones mediante el cargador de paquetes de extensiones.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Jar (Java). Si se define en false y la extensión contiene ficheros jar, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de Javascript. Si se define en false y la extensión contiene ficheros javascript, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de CSS. Si se define en false y la extensión contiene ficheros css, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de JSON. Si se define en false y la extensión contiene ficheros json, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen recursos de WebApps. Si se define en false y la extensión contiene ficheros de recursos WebApp, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad no extensible. Si se define en false y la extensión contiene definiciones de entidades no extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
Permite controlar los permisos de importación de paquetes de extensiones que contienen definiciones de entidad extensible. Si se define en false y la extensión contiene definiciones de entidades extensibles distintas de la entidad de paquete de extensiones, la importación fallará.
También se puede cambiar la ruta del volumen a una ubicación específica del sitio. La ruta del volumen utiliza la siguiente sintaxis:
"./ruta_a_montaje_local:/ruta_a_montaje_de_contenedor"
Por ejemplo:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
Al actualizar la ruta del volumen, se debe cambiar solamente el montaje local, ya que los puntos de montaje del contenedor interno no cambian nunca.