instructions and sample scripts on how to build an example package for building Cassandra and Teamwork Cloud containers the Install archive. These containers can be run on any orchestration platform together with WebApps to ensure easy Teamwork Cloud deployment.| Tip |
|---|
To build your Teamwork Cloud container, download the ZIP archive below: |
Creating a Docker imageTo create a Docker image Create a working directory image/ Extract the content of Teamwork Cloud No Install archive for Linux to image/ to create a folder named image/TeamworkCloudSuite/ | Info |
|---|
You can modify your configurations as needed: TeamworkCloudSuite/jvm.options TeamworkCloudSuite/configuration/application.conf TeamworkCloudSuite/configuration/logback.xml
|
-Install package. The example package uses Docker Compose to build all the components required to deploy a fully-functional Teamwork Cloud containerized environment. Such an environment can be deployed in an orchestration framework to enhance scaling and management. Teamwork Cloud Container Example Package ComponentsDocker Hub Pulled Images: - Cassandra 4.0.3
- Zookeeper 3.7.0
- ZooNavigator 1.1.1 (elkozmon)
- Elasticsearch 7.16.2
External Packages: - Teamwork Cloud 2022x No-Install Linux (downloaded from the 3DS software download page)
- ActiveMQ Artemis 2.26.0 (downloaded automatically after executing the containerization environment staging script)
Run command docker build -t twcloud. You can choose a different image name, if necessary.Example with Docker Compose This requires 12GB of The example package requires at least 32GB of available RAM. |
Create a working directory compose/Copy the content from image/TeamworkCloudSuite/configuration to compose/configurationModify configurations as needed:- configuration/application.conf
- configuration/logback.xml
In this sample, it is mandatory to modify configuration/application.conf as follows:- Change the key value esi.persistence.datastax-java-driver.basic.contact-points from 127.0.0.1:9042 to cassandra:9042
(Optional) You can modify the memory limits for Cassandra and Teamwork Cloud in docker-compose.yml- Download and extract the example package into an empty working directory.
- Download a 2022x or newer version of Teamwork Cloud No-Install Linux package.
- Rename or symbolically link the no-install package to twcoudsuite.zip.
- Execute the config.twc-compose.sh script to stage the containerization environment.
Run the following command to initialize Docker Compose container configurations: | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker compose build |
Run the following command to launch containers
Run command: | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker |
build -t twcloudIf you execute this command for the first time, it will build the containers as well. - Use the following URLs:
You can choose a different image name, if necessary. show follow the output (tail) the output of the Teamwork Cloud Docker a specific container: | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker compose logs -f |
twcloud Compose containerscontainers but retain data in non-persistent storage: | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker compose stop |
To To stop all and remove all running containers (non-persistent storage data will be lost): | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker compose down -v |
Building Teamwork Cloud containers in a clustered environmentTo build Teamwork Cloud container in a cluster - Create a Docker image.
- Then do the following on each host:
- Expose port 2552 by adding it to compose/docker-compose.yml#twcloud.ports (same as 8111 port).
- Configure compose/configuration/application.conf key akka.cluster.seed-nodes as as described in the article Teamwork Cloud Cluster Setup.
- Modify CASSANDRA_SEEDS in compose/docker-compose.yml as described in the article Teamwork Cloud Cluster Setup.
Run command: | Code Block |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| linenumbers | true |
|---|
| docker compose up -d |
Configuring Cassandra on a host machineDocker provides a special hostname for the host machine: host.docker.internal How to use the special hostname Change the configuration/application.conf key esi.persistence.datastax-java-driver.basic.contact-points to host.docker.internal:9042Remove or comment all sections of cassandra under services in docker-compose.ymlRemove or comment all sections of depends_on under twcloud |