ThingWorx Docker 구성
ThingWorx Docker를 빠르게 시작 및 실행하려면 콘텐츠 공급자에 대한 기본 설정을 사용하십시오. Docker Compose 파일을 구성하여 사이트의 설정을 사용자 정의할 수도 있습니다. 이 단원에서는 각 콘텐츠 공급자에 대해 Docker Compose 파일을 구성하는 방법을 설명합니다.
HTTP Secure(HTTPS) 및 HTTP 구성
기본적으로 제공된 ThingWorx 이미지에서는 HTTP가 활성화되고 HTTPS가 비활성화됩니다. 이는 테스트 및 개발에는 유용하지만 생산 환경에서 사용하기 위한 것은 아닙니다. 생산 시나리오에서 HTTPS를 사용하려고 하는 경우 HTTPS를 활성화하여 ThingWorx Platform에 적절한 보안을 제공하는 것이 좋습니다.
* 
HTTPS가 활성화된 경우 컨테이너를 시작하려면 키 저장소를 제공해야 합니다. 그렇지 않으면 컨테이너가 종료됩니다.
Docker 이미지에 대해 HTTPS를 구성하려면 다음을 수행하십시오.
1. HTTPS 인증서가 포함된 키 저장소 파일을 Docker가 마운트된 ThingworxPlatform 폴더에 복사합니다. 볼륨 마운트는 docker-compose 파일에 상대적입니다. 이 위치는 컨테이너에서 지속성을 지원하기 위해 로그 및 구성 파일이 저장되는 곳입니다.
기본적으로 키 저장소의 이름은 keystore.jks여야 합니다. 이 이름을 뒷부분에 설명된 SSL_KEYSTORE_FILENAME 환경 변수로 재정의할 수 있습니다.
예제 Docker Compose 파일의 경우 파일을 여기에 복사합니다.
./thingworx-storage/shared/ThingworxPlatform
2. Docker Compose 파일에서 환경 변수 SSL_KEYSTORE_PASSWORD가 키 저장소의 암호화 암호로 설정되어 있고 HTTPS_ENABLEDtrue로 설정되어 있는지 확인합니다.
3. 포트 8443:8443이 Docker Compose 파일의 ports 섹션에 있는지 확인합니다.
HTTP를 활성화하려면 다음을 수행하십시오.
1. Docker Compose 파일에서 환경 변수 HTTP_ENABLED가 요구사항에 따라 true 또는 false로 설정되어 있는지 확인합니다.
기본값은 true입니다.
2. 포트 8080:8080이 Docker Compose 파일의 ports 섹션에 있는지 확인합니다.
* 
파일에 PASSWORD가 있으면 ThingWorx 또는 데이터베이스의 암호로 바꿔야 합니다.
H2
다음 예제는 몇 가지 기본 설정이 포함된 H2용 Docker Compose 파일입니다.
version: '2.2'
services:
platform:
image: thingworx/platform-h2:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
volumes:
- "./thingworx-h2-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-h2-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-h2-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-h2-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
초기 메모리는 2GB로 설정되어 있고 최대 메모리는 4GB로 설정되어 있습니다.
파일의 environment 섹션에 다음 옵션을 추가하여 이 인스턴스의 구성을 제어할 수 있습니다.
변수 이름
기본값
설명
INITIAL_HEAP
숫자
2
인스턴스의 초기 메모리 크기(GB)를 설정합니다.
MAX_HEAP
숫자
4
인스턴스의 최대 메모리 크기(GB)를 설정합니다.
ENABLE_HTTP
true/false
true
컨테이너에 대한 비보안 트래픽을 위해 Tomcat에서 HTTP 커넥터를 활성화합니다.
ENABLE_HTTPS
true/false
false
컨테이너에 대한 보안 트래픽을 위해 Tomcat에서 HTTPS 커넥터를 활성화합니다. 또한 키 저장소를 제공하고 SSL_KEYSTORE_PASSWORD를 설정해야 합니다.
SSL_KEYSTORE_PASSWORD
문자열
PASSWORD
Tomcat에서 SSL 통신에 사용되는 키 저장소의 암호를 설정합니다.
SSL_KEYSTORE_BASE_PATH
문자열
/ThingworxPlatform
Tomcat SSL 키 저장소의 경로를 설정합니다. 기본 폴더가 아닌 컨테이너의 위치에 키 저장소를 저장한 경우 이 변수를 설정해야 합니다.
SSL_KEYSTORE_FILENAME
문자열
keystore.jks
Tomcat SSL 키 저장소의 파일 이름을 설정합니다. 키 저장소의 파일 이름이 기본 이름이 아닌 경우 이 변수를 설정해야 합니다.
TOMCAT_SSL_PROTOCOLS
문자열
TLSv1.2
Tomcat SSL 프로토콜을 지정합니다. Tomcat에서 허용된 SSL 프로토콜을 재정의하려면 이 변수를 설정합니다.
SERVER_HTTP_PORT
문자열
8080
Tomcat이 HTTP 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
SERVER_HTTPS_PORT
문자열
8443
Tomcat이 HTTPS 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
DOCKER_DEBUG
true/false
false
컨테이너가 시작될 때 디버깅 정보를 기록하는 옵션을 전환합니다. 여기에는 중요한 정보가 포함될 수 있습니다.
LS_USERNAME
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 사용자 이름을 지정합니다.
LS_PASSWORD
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 암호를 지정합니다.
ENABLE_BACKUP
true/false
false
백업 옵션을 전환합니다.
ENABLE_LOGGING
true/false
true
로깅 옵션을 전환합니다.
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json 파일에서 데이터베이스 및 라이선스의 암호를 암호화하는 옵션을 전환합니다.
THINGWORX_INITIAL_PASSWORD
문자열
""
ThingWorx의 관리자 사용자에 대한 초기 암호를 설정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. ThingWorx가 성공적으로 시작된 후 이 암호를 변경할 수 있습니다.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
확장 패키지 업로더를 통한 확장 패키지 가져오기의 전역 활성화/비활성화를 제어합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar(Java) 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 jar 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 Javascript 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 css 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 json 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 WebApp 리소스 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
확장할 수 없는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 없는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
확장할 수 있는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 있는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
볼륨 경로를 사이트에 특정한 위치로 변경할 수도 있습니다. 볼륨 경로에는 다음 구문이 사용됩니다.
"./path_to_local_mount:/path_to_container_mount"
예:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
볼륨 경로를 업데이트할 때 마운트 지점으로서의 로컬 마운트만 변경하십시오. 내부 컨테이너는 변경하지 않아야 합니다.
Microsoft SQL Server
다음 예제는 몇 가지 기본 설정이 포함된 Microsoft SQL Server용 Docker Compose 파일입니다.
version: '2.2'
services:
mssql:
image: thingworx/mssql-db:latest
ports:
- "1433"
healthcheck:
test: /opt/mssql-tools/bin/sqlcmd -U SA -P "$${SA_PASSWORD}" -h -1
-Q "set nocount on; select serverproperty('ServerName')" | grep -w "$${HOSTNAME}"
interval: 15s
platform:
image: thingworx/platform-mssql:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
depends_on:
mssql:
condition: service_healthy
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=mssql"
- "DATABASE_PORT=1433"
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
# NOTE: TWX_DATABASE_PASSWORD for MSSQL platform must be set to match your
# environment, or the MSSQL_DB_TWX_DATABASE_PASSWORD that you set for the
# Test MSSQL DB.
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
volumes:
- "./thingworx-mssql-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-mssql-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-mssql-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-mssql-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
초기 메모리는 2GB로 설정되어 있고 최대 메모리는 4GB로 설정되어 있습니다. 볼륨 마운트는 docker-compose 파일에 상대적입니다. 이 위치는 컨테이너에서 지속성을 지원하기 위해 로그 및 구성 파일이 저장되는 곳입니다.
파일의 environment 섹션에 다음 옵션을 추가하여 이 인스턴스의 구성을 제어할 수 있습니다.
변수 이름
기본값
설명
INITIAL_HEAP
숫자
2
인스턴스의 초기 메모리 크기(GB)를 설정합니다.
MAX_HEAP
숫자
4
인스턴스의 최대 메모리 크기(GB)를 설정합니다.
DATABASE_HOST
문자열
mssql
SQL Server 데이터베이스 호스트의 호스트 이름, 서비스 이름 또는 IP 주소를 지정합니다.
DATABASE_PORT
숫자
1433
SQL Server 데이터베이스의 포트 번호를 지정합니다.
DATABASE_ADMIN_USERNAME
문자열
SA
SQL Server 데이터베이스의 관리자 사용자 이름을 지정합니다.
DATABASE_ADMIN_PASSWORD
문자열
PASSWORD
SQL Server 데이터베이스의 관리자 암호를 지정합니다.
ENABLE_HTTP
true/false
true
컨테이너에 대한 비보안 트래픽을 위해 Tomcat에서 HTTP 커넥터를 활성화합니다.
ENABLE_HTTPS
true/false
false
컨테이너에 대한 보안 트래픽을 위해 Tomcat에서 HTTPS 커넥터를 활성화합니다. 또한 키 저장소를 제공하고 SSL_KEYSTORE_PASSWORD를 설정해야 합니다.
SSL_KEYSTORE_PASSWORD
문자열
PASSWORD
Tomcat에서 SSL 통신에 사용되는 키 저장소의 암호를 지정합니다.
SSL_KEYSTORE_BASE_PATH
문자열
/ThingworxPlatform
Tomcat SSL 키 저장소의 경로를 지정합니다. 기본 폴더가 아닌 컨테이너의 위치에 키 저장소를 저장한 경우 이 변수를 설정해야 합니다.
SSL_KEYSTORE_FILENAME
문자열
keystore.jks
Tomcat SSL 키 저장소에 대한 파일 이름을 지정합니다. 키 저장소의 파일 이름이 기본 이름이 아닌 경우 이 변수를 설정해야 합니다.
TOMCAT_SSL_PROTOCOLS
문자열
TLSv1.2
Tomcat SSL 프로토콜을 지정합니다. Tomcat에서 허용된 SSL 프로토콜을 재정의하려면 이 변수를 설정합니다.
SERVER_HTTP_PORT
문자열
8080
Tomcat이 HTTP 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
SERVER_HTTPS_PORT
문자열
8443
Tomcat이 HTTPS 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
DOCKER_DEBUG
true/false
false
컨테이너가 시작될 때 디버깅 정보를 기록하는 옵션을 전환합니다. 여기에는 중요한 정보가 포함될 수 있습니다.
TWX_DATABASE_USERNAME
문자열
""
데이터베이스에 대해 작성될 ThingWorx 사용자를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
TWX_DATABASE_PASSWORD
문자열
""
데이터베이스에 대한 ThingWorx 사용자의 암호를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
TWX_DATABASE_SCHEMA
문자열
""
ThingWorx 인스턴스의 스키마 이름을 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
LS_USERNAME
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 사용자 이름을 지정합니다.
LS_PASSWORD
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 암호를 지정합니다.
ENABLE_BACKUP
true/false
false
백업 옵션을 전환합니다.
ENABLE_LOGGING
true/false
true
로깅 옵션을 전환합니다.
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json 파일에서 데이터베이스 및 라이선스의 암호를 암호화하는 옵션을 전환합니다.
THINGWORX_INITIAL_PASSWORD
문자열
""
ThingWorx의 관리자 사용자에 대한 초기 암호를 설정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. ThingWorx가 성공적으로 시작된 후 이 암호를 변경할 수 있습니다.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
확장 패키지 업로더를 통한 확장 패키지 가져오기의 전역 활성화/비활성화를 제어합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar(Java) 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 jar 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 Javascript 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 css 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 json 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 WebApp 리소스 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
확장할 수 없는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 없는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
확장할 수 있는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 있는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
볼륨 경로를 사이트에 특정한 위치로 변경할 수도 있습니다. 볼륨 경로에는 다음 구문이 사용됩니다.
"./path_to_local_mount:/path_to_container_mount"
예:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
볼륨 경로를 업데이트할 때 마운트 지점으로서의 로컬 마운트만 변경하십시오. 내부 컨테이너는 변경하지 않아야 합니다.
MS SQL Server Docker 이미지는 테스트 용이성을 위해 제공됩니다. 제공된 MS SQL Server Docker 이미지를 생산 용도로는 사용하지 마십시오. 생산에 적합한 고유한 MS SQL Server 환경을 설정하는 것이 가장 좋습니다.
Docker 외부에 있는 Microsoft SQL Server 데이터베이스에 연결하려면 Compose 파일에서 mssql 서비스를 제거하고 다음 변수를 platform 환경 변수에 추가합니다.
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
다음은 최초 시작 시 ThingWorx 컨테이너가 로드하는 사용자, 데이터베이스 또는 스키마를 만들 권한이 있는 Microsoft SQL Server 데이터베이스에 대한 관리자 계정입니다. 외부 Microsoft SQL Server 데이터베이스를 사용하기 위한 플랫폼 설정이 포함된 예제 Compose 파일은 ThingWorx Docker에 외부 Microsoft SQL Server 데이터베이스 사용 항목을 참조하십시오.
외부 데이터베이스를 사용하는 경우 ThingWorx Docker 컨테이너에 대한 관리자 자격 증명을 제공하지 않고 수동으로 ThingWorx 스키마를 설치할 수 있습니다. 이렇게 하려면 DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORDTWX_DATABASE_SCHEMA 변수를 적절히 설정합니다.
PostgreSQL
다음 예제는 몇 가지 기본 설정이 포함된 PostgreSQL용 Docker Compose 파일입니다.
version: '2.2'
services:
postgresql:
image: thingworx/postgres-db:latest
ports:
- "5432"
healthcheck:
test: pg_isready -U postgres
interval: 15s
environment:
- "TWX_DATABASE_USERNAME=thingworx"
- "TWX_DATABASE_SCHEMA=thingworx"
# NOTE: You must set the password for the pre-created ThingWorx Schema in
# this test database manually.
- "TWX_DATABASE_PASSWORD="
volumes:
- "./thingworx-postgres-storage/ThingworxPostgresqlStorage:/ThingworxPostgresqlStorage"
- "./thingworx-postgres-storage/postgres-data:/var/lib/postgresql/data"
platform:
image: thingworx/platform-postgres:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds'
localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
depends_on:
postgresql:
condition: service_healthy
ports:
- "8080:8080"
- "8443:8443"
environment:
- "ENABLE_CLUSTERED_MODE=false"
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=postgresql"
- "DATABASE_PORT=5432"
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
# NOTE: TWX_DATABASE_PASSWORD must be set for your environment, or to match
# TWX_DATABASE_PASSWORD in the postgresql service above.
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
- "ENABLE_HTTP=true"
- "ENABLE_HTTPS=false"
# NOTE: If supplying a keystore for SSL, you must set your keystore password
#- "SSL_KEYSTORE_PASSWORD="
volumes:
- "./thingworx-postgres-storage/ThingworxPlatform:/ThingworxPlatform"
- "./thingworx-postgres-storage/ThingworxStorage:/ThingworxStorage"
- "./thingworx-postgres-storage/ThingworxBackupStorage:/ThingworxBackupStorage"
- "./thingworx-postgres-storage/tomcat-logs:/opt/apache-tomcat/logs"
* 
초기 메모리는 2GB로 설정되어 있고 최대 메모리는 4GB로 설정되어 있습니다. 볼륨 마운트는 docker-compose 파일에 상대적입니다. 이 위치는 컨테이너에서 지속성을 지원하기 위해 로그 및 구성 파일이 저장되는 곳입니다.
파일의 environment 섹션에 다음 옵션을 추가하여 이 인스턴스의 구성을 제어할 수 있습니다.
변수 이름
기본값
설명
INITIAL_HEAP
숫자
2
인스턴스의 초기 메모리 크기(GB)를 설정합니다.
MAX_HEAP
숫자
4
인스턴스의 최대 메모리 크기(GB)를 설정합니다.
DATABASE_HOST
문자열
postgressql
PostgreSQL 데이터베이스 호스트의 호스트 이름, 서비스 이름 또는 IP 주소를 지정합니다.
DATABASE_PORT
숫자
5432
PostgreSQL 데이터베이스의 포트 번호를 지정합니다.
DATABASE_ADMIN_USERNAME
문자열
postgres
PostgreSQL 데이터베이스의 관리자 사용자 이름을 지정합니다.
DATABASE_ADMIN_PASSWORD
문자열
PASSWORD
PostgreSQL 데이터베이스의 관리자 암호를 지정합니다.
ENABLE_HTTP
true/false
true
컨테이너에 대한 비보안 트래픽을 위해 Tomcat에서 HTTP 커넥터를 활성화합니다.
ENABLE_HTTPS
true/false
false
컨테이너에 대한 보안 트래픽을 위해 Tomcat에서 HTTPS 커넥터를 활성화합니다. 또한 키 저장소를 제공하고 SSL_KEYSTORE_PASSWORD를 설정해야 합니다.
SSL_KEYSTORE_PASSWORD
문자열
PASSWORD
Tomcat에서 SSL 통신에 사용되는 키 저장소의 암호를 지정합니다.
SSL_KEYSTORE_BASE_PATH
문자열
/ThingworxPlatform
Tomcat SSL 키 저장소의 경로를 지정합니다. 기본 폴더가 아닌 컨테이너의 위치에 키 저장소를 저장한 경우 이 변수를 설정해야 합니다.
SSL_KEYSTORE_FILENAME
문자열
keystore.jks
Tomcat SSL 키 저장소에 대한 파일 이름을 지정합니다. 키 저장소의 파일 이름이 기본 이름이 아닌 경우 이 변수를 설정해야 합니다.
TOMCAT_SSL_PROTOCOLS
문자열
TLSv1.2
Tomcat SSL 프로토콜을 지정합니다. Tomcat에서 허용된 SSL 프로토콜을 재정의하려면 이 변수를 설정합니다.
SERVER_HTTP_PORT
문자열
8080
Tomcat이 HTTP 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
SERVER_HTTPS_PORT
문자열
8443
Tomcat이 HTTPS 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
DOCKER_DEBUG
true/false
false
컨테이너가 시작될 때 디버깅 정보를 기록하는 옵션을 전환합니다. 여기에는 중요한 정보가 포함될 수 있습니다.
TWX_DATABASE_USERNAME
문자열
""
데이터베이스에 대해 작성될 ThingWorx 사용자를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. PostgreSQL의 경우 기존 구현의 제한으로 인해 TWX_DATABASE_USERNAME이 다음과 같아야 합니다.
TWX_DATABASE_SCHEMA와 일치해야 합니다.
postgres이면 안 됩니다.
TWX_DATABASE_PASSWORD
문자열
""
데이터베이스에 대한 ThingWorx 사용자의 암호를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
TWX_DATABASE_SCHEMA
문자열
""
ThingWorx 인스턴스의 스키마 이름을 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. PostgreSQL의 경우 기존 구현의 제한으로 인해 TWX_DATABASE_USERNAMETWX_DATABASE_SCHEMA와 일치해야 합니다.
TABLESPACE_LOCATION
문자열
/ThingworxPostgresqlStorage
데이터베이스 서버에서 테이블 공간의 위치를 지정합니다.
IS_RDS
yes/no
no
RDS PostgreSQL 데이터베이스에 대한 연결 옵션을 전환합니다.
LS_USERNAME
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 사용자 이름을 지정합니다.
LS_PASSWORD
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 암호를 지정합니다.
ENABLE_BACKUP
true/false
false
백업 옵션을 전환합니다.
ENABLE_LOGGING
true/false
true
로깅 옵션을 전환합니다.
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json 파일에서 데이터베이스 및 라이선스의 암호를 암호화하는 옵션을 전환합니다.
THINGWORX_INITIAL_PASSWORD
문자열
""
ThingWorx의 관리자 사용자에 대한 초기 암호를 설정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. ThingWorx가 성공적으로 시작된 후 이 암호를 변경할 수 있습니다.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
확장 패키지 업로더를 통한 확장 패키지 가져오기의 전역 활성화/비활성화를 제어합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar(Java) 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 jar 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 Javascript 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 css 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 json 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 WebApp 리소스 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
확장할 수 없는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 없는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
확장할 수 있는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 있는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
POSTGRES_USER
문자열
""
PostgreSQL 데이터베이스의 관리자 사용자 이름을 지정합니다.
POSTGRES_PASSWORD
문자열
""
PostgreSQL 데이터베이스의 관리자 암호를 지정합니다.
POSTGRES_DB
문자열
""
PostgreSQL 데이터베이스의 이름을 지정합니다.
POSTGRESQL 및 해당 세부 정보에 대한 추가 변수는 Docker Hub에서 찾을 수 있습니다.
볼륨 경로를 사이트에 특정한 위치로 변경할 수도 있습니다. 볼륨 경로에는 다음 구문이 사용됩니다.
"./path_to_local_mount:/path_to_container_mount"
예:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
볼륨 경로를 업데이트할 때 마운트 지점으로서의 로컬 마운트만 변경하십시오. 내부 컨테이너는 변경하지 않아야 합니다.
PostgreSQL Docker 이미지는 테스트 용이성을 위해 제공됩니다. PostgreSQL Docker 이미지를 생산 용도로는 사용하지 마십시오. 생산에 적합한 고유한 PostgreSQL 환경을 설정하는 것이 가장 좋습니다.
Docker 외부에 있는 PostgreSQL 데이터베이스에 연결하려면 Compose 파일에서 postgresql 서비스를 제거하고 다음 변수를 platform 환경 변수에 추가합니다.
DATABASE_ADMIN_USERNAME
DATABASE_ADMIN_PASSWORD
다음은 최초 시작 시 ThingWorx 컨테이너가 로드하는 사용자, 데이터베이스 또는 스키마를 만들 권한이 있는 PostgreSQL 데이터베이스에 대한 관리자 계정입니다. 외부 데이터베이스를 사용하기 위한 플랫폼 설정이 포함된 예제 Compose 파일은 ThingWorx Docker에 외부 PostgreSQL 데이터베이스 사용 항목을 참조하십시오.
외부 데이터베이스를 사용하는 경우 보통의 경우와 같이 ThingWorx Docker 컨테이너에 대한 관리자 자격 증명을 제공하지 않고 수동으로 ThingWorx 스키마를 설치할 수 있습니다. 이렇게 하려면 DATABASE_HOST, DATABASE_PORT, TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORDTWX_DATABASE_SCHEMA 변수를 적절히 설정합니다.
Azure SQL
* 
Azure SQL 데이터베이스를 ThingWorx Dockerfile과 함께 사용하려면 Azure SQL 데이터베이스가 Microsoft Azure에 구성되어 있어야 합니다. AzureSQL 데이터베이스를 설정하는 방법에 대한 자세한 내용은 Azure SQL Server를 지속성 공급자로 사용을 참조하십시오.
다음 예제는 몇 가지 기본 설정이 포함된 Azure SQL용 Docker Compose 파일입니다.
version: '2.2'
services:
# NOTE: There is no test database for the ThingWorx Azure SQL Persitence Provider
# as you need to create a database resource in Azure to connect to.
platform:
image: thingworx/platform-azuresql:latest
healthcheck:
test: curl -s -w '%{http_code}' -U 'bad:creds' localhost:8080/Thingworx/Subsystems/PlatformSubsystem | grep -w 401
interval: 15s
ports:
- "8080:8080"
- "8443:8443"
environment:
- "INITIAL_HEAP=2"
- "MAX_HEAP=4"
- "DATABASE_HOST=<azuresql url>"
# NOTE: Set DATABASE_ADMIN_USERNAME and DATABASE_ADMIN_PASSWORD if you want
# the docker container to create the user and database tables for ThingWorx
# based on TWX_DATABASE_USERNAME and TWX_DATABASE_PASSWORD.
# Otherwise, comment out and supply the TWX_DATABASE_USERNAME and TWX_DATABASE_PASSWORD
# for manually created user and ThingWorx database structure.
- "DATABASE_ADMIN_USERNAME=<azuresql admin user>"
- "DATABASE_ADMIN_PASSWORD=<azuresql admin password>"
# NOTE: Set TWX_DATABASE_USERNAME, TWX_DATABASE_PASSWORD TWX_DATABASE_SCHEMA for
# the thingworx database setup that will either be created by the docker image,
# or connected to if it already exists.
- "TWX_DATABASE_USERNAME="
- "TWX_DATABASE_SCHEMA="
- "TWX_DATABASE_PASSWORD="
# NOTE: The following must be set for the Platform to start. This will be
# the initial Administrator password.
- "THINGWORX_INITIAL_ADMIN_PASSWORD="
* 
초기 메모리는 2GB로 설정되어 있고 최대 메모리는 4GB로 설정되어 있습니다.
파일의 environment 섹션에 다음 옵션을 추가하여 이 인스턴스의 구성을 제어할 수 있습니다.
변수 이름
기본값
설명
INITIAL_HEAP
숫자
2
인스턴스의 초기 메모리 크기(GB)를 설정합니다.
MAX_HEAP
숫자
4
인스턴스의 최대 메모리 크기(GB)를 설정합니다.
DATABASE_HOST
문자열
해당 없음
Azure SQL 데이터베이스의 URL을 지정합니다.
DATABASE_ADMIN_USERNAME
문자열
해당 없음
Azure SQL 데이터베이스의 관리자 사용자 이름을 지정합니다. Docker 컨테이너가 TWX_DATABASE_USERNAME을 만들고 ThingWorx 데이터베이스 테이블을 초기화하도록 하려는 경우에만 설정하십시오.
DATABASE_ADMIN_PASSWORD
문자열
해당 없음
Azure SQL 데이터베이스의 관리자 암호를 지정합니다. Docker 컨테이너가 TWX_DATABASE_USERNAME을 만들고 ThingWorx 데이터베이스 테이블을 초기화하도록 하려는 경우에만 설정하십시오.
ENABLE_HTTP
true/false
true
컨테이너에 대한 비보안 트래픽을 위해 Tomcat에서 HTTP 커넥터를 활성화합니다.
ENABLE_HTTPS
true/false
false
컨테이너에 대한 보안 트래픽을 위해 Tomcat에서 HTTPS 커넥터를 활성화합니다. 또한 키 저장소를 제공하고 SSL_KEYSTORE_PASSWORD를 설정해야 합니다.
SSL_KEYSTORE_PASSWORD
문자열
PASSWORD
Tomcat에서 SSL 통신에 사용되는 키 저장소의 암호를 지정합니다.
SSL_KEYSTORE_BASE_PATH
문자열
/ThingworxPlatform
Tomcat SSL 키 저장소의 경로를 지정합니다. 기본 폴더가 아닌 컨테이너의 위치에 키 저장소를 저장한 경우 이 변수를 설정해야 합니다.
SSL_KEYSTORE_FILENAME
문자열
keystore.jks
Tomcat SSL 키 저장소에 대한 파일 이름을 지정합니다. 키 저장소의 파일 이름이 기본 이름이 아닌 경우 이 변수를 설정해야 합니다.
TOMCAT_SSL_PROTOCOLS
문자열
TLSv1.2
Tomcat SSL 프로토콜을 지정합니다. Tomcat에서 허용된 SSL 프로토콜을 재정의하려면 이 변수를 설정합니다.
SERVER_HTTP_PORT
문자열
8080
Tomcat이 HTTP 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
SERVER_HTTPS_PORT
문자열
8443
Tomcat이 HTTPS 통신을 모니터링하는 포트를 지정합니다. 이 포트가 변경되면 Compose 파일에 제공된 포트를 변경해야 합니다.
DOCKER_DEBUG
true/false
false
컨테이너가 시작될 때 디버깅 정보를 기록하는 옵션을 전환합니다. 여기에는 중요한 정보가 포함될 수 있습니다.
TWX_DATABASE_USERNAME
문자열
""
데이터베이스에 대해 작성될 ThingWorx 사용자를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
TWX_DATABASE_PASSWORD
문자열
""
데이터베이스에 대한 ThingWorx 사용자의 암호를 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. 변수는 Azure SQL Database에 대한 암호 정책을 준수해야 합니다. 자세한 내용은 Password Policy를 참조하십시오.
TWX_DATABASE_SCHEMA
문자열
""
ThingWorx 인스턴스의 스키마 이름을 지정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다.
LS_USERNAME
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 사용자 이름을 지정합니다.
LS_PASSWORD
문자열
""
ThingWorx 라이선스를 받을 PTC 로그인 암호를 지정합니다.
ENABLE_BACKUP
true/false
false
백업 옵션을 전환합니다.
ENABLE_LOGGING
true/false
true
로깅 옵션을 전환합니다.
ENCRYPT_CREDENTIALS
true/false
false
platform-settings.json 파일에서 데이터베이스 및 라이선스의 암호를 암호화하는 옵션을 전환합니다.
THINGWORX_INITIAL_PASSWORD
문자열
""
ThingWorx의 관리자 사용자에 대한 초기 암호를 설정합니다. 이 변수는 ThingWorx Platform을 시작하기 전에 수동으로 설정해야 합니다. ThingWorx가 성공적으로 시작된 후 이 암호를 변경할 수 있습니다.
EXTPKG_IMPORT_POLICY_ENABLED
true/false
false
확장 패키지 업로더를 통한 확장 패키지 가져오기의 전역 활성화/비활성화를 제어합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JARRES
true/false
false
Jar(Java) 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 jar 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSRES
true/false
false
Javascript 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 Javascript 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_CSSRES
true/false
false
CSS 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 css 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_JSONRES
true/false
false
JSON 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 json 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_WEBAPPRES
true/false
false
WebApps 리소스가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 WebApp 리소스 파일이 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_ENTITIES
true/false
false
확장할 수 없는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 없는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
EXTPKG_IMPORT_POLICY_ALLOW_EXTENTITIES
true/false
false
확장할 수 있는 엔티티 정의가 포함된 확장 패키지에 대한 가져오기 권한을 제어합니다. false로 설정되어 있고 확장에 확장 패키지 엔티티 외의 확장할 수 있는 엔티티 정의가 포함되어 있으면 가져오기가 실패합니다.
볼륨 경로를 사이트에 특정한 위치로 변경할 수도 있습니다. 볼륨 경로에는 다음 구문이 사용됩니다.
"./path_to_local_mount:/path_to_container_mount"
예:
"/opt/ThingworxPlatform:/ThingworxPlatform"
* 
볼륨 경로를 업데이트할 때 마운트 지점으로서의 로컬 마운트만 변경하십시오. 내부 컨테이너는 변경하지 않아야 합니다.