Installation and launch of Themis

We use Compose for Themis launch. Only the MongoDB database is supported to this day and we recommend the use of an image pre-configured by us, matching MongoDB 2.6.12.

To start, create the directory of installation of Themis, that we will name here THEMIS_HOME.

In a terminal, go in the THEMIS_HOME directory, then create a docker-compose.yml file with the following content:

version: '2'
services:
  dataonly:
    image: themis-registry.promyze.com/themis-data
    container_name: dataonly-container
    volumes:
     - ./themis:/shared
     - ./data:/data/db
     - ./log:/data/log
  mongodb:
    image: themis-registry.promyze.com/themis-mongodb:2.6.12
    container_name: mongodb-container
    volumes_from:
     - dataonly
ports:
- 27017:27017 themis: image: themis-registry.promyze.com/themis container_name: themis-container
environment:
- THEMIS_URL=http://localhost:3001 #REPLACE WITH THE FULL URL OF THEMIS
- WEB_SOCKET_PORT=3000 #REPLACE BY THE PORT USED BY THE SOCKET EXPOSED BY DOCKER
- WEB_SOCKET_HOST=localhost #REPLACE BY THE URL OF THE MACHINE depends_on: - mongodb ports: - 3000:3000 # Replace the left part by the port of your choice - 3001:3001 # Replace the left part by the port of your choice volumes_from: - dataonly

Settings of the Docker container 

If you are using your own MongoDB database, that article describes the procedure to follow to set the Themis Docker container.
 
The comprehensive list of environment variables is available in that article.
 
If you wish to SSL certificate, that article provides the procedure to follow. 
 
If you wish to import SSH keys, this article provides the procedure to follow.
 

Configuration of the ports 

Themis exposes by default two ports that it is possible to configure via that docker-compose.yml file by going to the section of the file dedicated to the themis service.

  • The 3000 port is used by a Socket.io library to exploit WebSocket technology. To change that port, you should modify the WEB_SOCKET_PORT environment variable. Here is an example where the 8090 port is chosen:
    themis:
        image: promyze/themis
        container_name : themis-container
        depends_on:
          - mongodb
        environment:
          - WEB_SOCKET_PORT=8090 # The new value has to  match the chosen port
        ports:
          - 8090:3000  # HOST:DOCKER - You should therefore modify the left value, and not modify the right value.
          - 3001:3001
        volumes_from:
          - dataonly
  • The 3001 port is the port allowing to access to Themis Themis via HTTP. You may change that port in the ports section. Here is an example where the 8091 port has been chosen:
    themis:
        image: promyze/themis
        container_name : themis-container
        depends_on:
          - mongodb
        ports:
          - 3000:3000
          - 8091:3001  # HOST:DOCKER - You should therefore modify the right value, and not modify the left value.
        volumes_from:
          - dataonly

 

Themis launch

The register of Themis Docker images not being public, you have to sign in with the data of authentication provided by ProMyze. Run the following command:

docker login themis-registry.promyze.com

Enter the following identifiers: 

  • Login: themis-readonly
  • Password: th@pass2017

Then, run the following command to run Themis :

docker-compose up -d

The terminal should display the following output:

Creating dataonly-container
Creating mongodb-container
Creating themis-container

Wait about 30 seconds, then in your web browser go to the url that you have specified in the THEMIS_URL environment variable.

Was this article helpful?
1 out of 1 found this helpful

Comments

0 comments

Please sign in to leave a comment.