Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Available from tia® Content Server core Version 2.1.0

Public Access (RELEASE TAG) :

...

Preparing container runtime

Deploying software as containers requires a container runtime. This documentation provides the required information. It also provides examples for docker container runtime.

Installation of docker or another container runtime following Open Container Initiative (OCI) standard is prerequisite for deploying tia Core as container.

Images for deployment of tia Core are stored at https://images.docker.kgs-cloud.deLogin to kgs harbour with .

Info

An account is required. It is provided for licensed installations via kgs Customer Support.

Note

Images that are no longer supported will be removed without further notice.

Example preparation with docker container runtime:

docker login https://images.docker.kgs-cloud.de

docker Docker will prompt for user and password.

Start with docker:

If docker is not installed yet on your system, please follow the docker installation instruction for linux e.g Debian.

Before you continue the setup, make sure that the command "docker --version" returns the following message.

...

If you want to set up a test instance of tia core, our default repository.cfg should be suitable for this purpose.

Otherwise feel free to customize the repository.cfg. Please also take note of the following configuration options /wiki/spaces/WIKI/pages/1368064007

Deploying tia Core

Deploying tia Core requires the following:

  • A license file. This file is provided by kgs Customer Support.

  • repository.cfg file. A default repository.cfg file is attached below, which is suitable for test systems only. For repository configuration settings refer to Repository-wide settings.

View file
namerepository.cfg

  • place repository.cfg to in a folder

  • replace <Name> with your custom name for the tia core container (application context name).

  • replace <Folder> with the Folderpath that contains the repository.cfg

  • replace <License> with the Folderpath that contains your license file

  • replace <Loglevel> with a log level of your choice e.g. DEBUG,INFO,ERROR

  • replace <BcryptHash> with a password of your choice encrypted with bcrypt (for an example please have a look on the section “Environment Variables” below)

  • replace <Version> with a available tia core version on harbor

Info

The following docker run command will deploy a tia core ArchiveLink (SAPHTTP) instance. If you want to install a tia core CMIS instance, please use the corresponding tag e.g. "-d docker.kgs-software.com/tia/core/cmis:latest"

Code Block
docker run --name <Name> -p 8080:8080 -v data_volume:/temp/data  -v <License>:/application/config/license/ -v <Folder>/repository.cfg:/application/config/repository.cfg -e LOGGING_LEVEL_ROOT=<Loglevel> -e WEBAPP_SECURITY_AUTH_BASIC_PASSWORD="<BcryptHash>" -d docker.kgs-software.com/tia/core/<product>:<Version>

Example:

Code Block
docker run --name tiacore-AL -p 8080:8080 -v data_volume:/temp/data  -v ./tiacore/license:/application/config/license/ -v ./tiacore/repository.cfg:/application/config/repository.cfg -e LOGGING_LEVEL_ROOT=INFO -e WEBAPP_SECURITY_AUTH_BASIC_PASSWORD="\$2a\$10\$5E1KpGIKSq6xuWmGf92bheB17V0l4fEMnVmYPqhWiazKddcx1TF/e" -d images.docker.kgs-cloud.de/tia/core/saphttp:latest

Explanation:

...

Command

...

Task

...

docker run

...

Start the container

...

-d

...

run as daemon instead of in foreground

...

--name {APPLICATION NAME}

...

In addition, decide about and prepare these settings depending on your requirements in order to run the container.

docker run parameter

Placeholder name to be replaced

Mapping to container-configuration

Explanation

--name

<Name>

Give the tia Core container a custom name. This name is also the application context name.

Info

Hint: You can start multiple instances of the same containers with different ports and different names.

Example:

-p

Code Block
--name tia-contentserver

-v {HOST_VOLUME}:{CONTAINER_VOLUME}

Maps a host directory into the file system of the container.

This way files are permanently stored even after the container is destroyed, and configuration files can be edited and maintained at the host.

Info

Hint: When host is running Windows, the path may contain drive letter with colon ( : ) and backslashes ( \ ). Use quotation marks and double the backslash to allow correct interpretation.

E.g.: -v "G:\\host\\location":/container/location

-p {HOST_PORT}:{SVC_PORT_IN_CONTAINER}

Maps the host port to the port in the container.

Our Software runs on 8080 inside the container, therefore you always want to map your arbitrary host port to 8080.

Sample:

Code Block
-p 8080:8080

{IMAGE NAME AS LAST PARAMETER}

The Image to run

Info

Step 1 needed to be complete

Example:

Code Block
images.docker.kgs-cloud.de/tia-documentrouter/tia-documentrouter

How to access the tia Core WebUI:

After you have successfully executed the docker run command, you can access the WebUI via the web browser <http://<server>>:<port>

Please login with your combination of username (default:admin) + password

...

How to connect SAP to tia Core contentserver:

use the transaction code OAC0 to create the repository T1

specify the required connection information for your tia core contentserver

...

  1. perform the connection test → the result should be as following

...

  1. send out the sap certificate to the tia core contentserver

Congratulations, you are now able to use tia core for archiving documents via ArchiveLink (smile)

Configuration:

Docker command:

This parameter -v data_volume:/temp/data is only required when data are stored in /temp/data. When you plan to use other storages (like S3) you no not need these parameter. For different location modify repository.cfg and the command accordingly.

Environment Variables

CONFIGDIRECTORY

Directory where repository.cfg is expected. Default is “/application/config/“

LOGGING_LEVEL_ROOT

Log Level for core of tia. Default is “Debug”. Recommended for Production is “WARN” or “ERROR”.

LOGGING_CONFIG

Point to a logback configuration to overwrite the default one. To set the log entry output to JSON format use the value “/application/config/json-logback.xml“. This is recommend for cloud environments.

<Hostport>

SERVER_PORT

<Hostport>: Listener port on host that forwards to the listener port in the container, which is configured by server.port application-wide setting (default: 8080).

-v

<Config Folder>

/application/config

The folder location on host system where the repository.cfg resides.

-v

<License Folder>

/application/config/license/

The location on host system where the license file resides. For more information refer to Location of the license file .

-v

<Temp Folder>

/temp/data

Optional: Mapping container’s temp directory to host file system.

-e

<Loglevel>

LOGGING_LEVEL_ROOT

The log level sets the verboseness of the log writing. Valid are: OFF; ERROR; WARN; INFO orDEBUG.It is recommended to use ERROR or WARN in production environments and WARN or INFO in test systems. Set DEBUG level only when being ask be kgs Customer Support. For more information on logging refer to Logging .

-e

<BcryptHash>

WEBAPP_SECURITY_AUTH_BASIC_PASSWORD

Set Password for Status Webapp with bcrypt. Password “admin” for testing: $2a$10$5E1KpGIKSq6xuWmGf92bheB17V0l4fEMnVmYPqhWiazKddcx1TF/e

TIA_LICENSE_PATH

Path to the license file (if different from /application/config/license/)

You can overwrite these with -e <key>=value

...

HTTPS requires a Certificate (public or self-signed) in stored as pkcs12 format. The file needs to be mapped into the container.

...

Environment Variables

...

server.ssl.key-store-type

...

JKS or PKCS12 is supported. PKCS12 is preferred.

...

server.ssl.key-store

...

Location of the keystore

...

server.ssl.key-store-password

...

Password for the keystore

...

server.ssl.key-alias

...

Alias for the certificate in the pkcs12 store

...

server.ssl.enabled

...

use “true“ to expose the configured port (default 8080) as https port

Example

Create a keystore with a self signed certificate or skip this step with existing certificate:

Code Block
languagebash
keytool -genkeypair -alias kgs -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore kgs.p12 -validity 3650

Map the file in the container:

Code Block
-v ./tiacore/kgs.p12:/application/kgs.p12

Add to environment variables:

Code Block
server.ssl.key-store-type: PKCS12
server.ssl.key-store: /application/kgs.p12
server.ssl.key-store-password: test1234
server.ssl.key-alias: kgs
server.ssl.enabled: true

FAQ

...

titleI do not want log files inside my container (for tia® Content Server core < 2.6.0 )
Info

This is no longer required for tia® Content Server core 2.6.0 or higher

  • Use e.g this log4j2.xml without file appender

View file
namelog4j2.xml

...

And set environment variable for the container -e LOGGING_CONFIG=/application/config/log4j2.xml

Expand
titleI want to use ILM or SAPHTTP?

Both is available on Nexus/Harbor

Expand
titleI want to check the container logs

You can do that with the following command

Code Block
sudo docker container logs [container name / or / container-id]
Expand
titleIs respository.cfg shared?

In the example repository.cfg is shared when mutiple container use the same repository.cfg. Change one and restart container so that new repository.cfg works for both.

Expand
titleWhere is the tomcat?

Tomcat is now embedded and maintained by kgs.

Expand
titleHow do I update a container

Pull the new image sudo docker pull [docker_image]

Find the ID of the running container sudo docker ps

Image Removed

Stop Container sudo docker stop [container_id]
Remove Container sudo docker rm [container_id]

Start Container docker run -p 8080:8080 -v data_volume:/temp/ -v <Folder>/repository.cfg:/application/config/repository.cfg -d docker.kgs-software.com/tia/core/cmis:<Version>

...

titleAre there files or directories that need to be mapped in the container and need to be permanent with read/write access?

Yes, but it depends on your configuration.

...

tia® Content Server core requires a metadata directory (<repo>.configdata.filesystem.root)

...

tia® Content Server core can require a keystore, when you configure it, make sure this file is available for all

  • <repo>.keystoreservice.pkcs12.name

  • <repo>.keystoreservice.pkcs12.path

...

To login to the tia Status UI, a password is required that when being hashed must match this value. For more information refer to tia® Status UI Authentication .

-d

Run as daemon in background

<Image>

Referencing the image as last parameter in the docker command.

The image is referenced like this:

images.docker.kgs-cloud.de/tia/core/<Product>:<Version>

with

<Product>: The tia Core product to be deployed: saphttp , cmis, or ilm.

<Version>: The version of tia Core to be deployed. kgs recommends to use the latest available version. For this use latest.

For information about the container environmental variables, refer to Reference of application-wide parameters

Info

When host is running Windows, pay attention to the volume mappings. The host volume path contains drive letter with colon ( : ) and backslashes ( \ ). Use quotation marks and double the backslash to allow correct interpretation.

Example volume mapping: "G:\\host\\location":/container/location

For example deployments see: