Vera deployment with Docker
Install prerequisites
Install Docker and Docker Compose
Vera is designed to run inside Docker containers. Use the following instructions to install Docker Engine on the installation machine.
Note: This section can be skipped if Docker is already installed on the machine.
To install Docker, follow the Docker CE instructions (opens in new tab) that are recommended for Linux installations.
If the docker compose --version command is recognized, then Docker is correctly installed.
Install Vera
Pre-configure storage locations
Vera uses folder mapping (volume mounting) to create persistent storage outside of the Docker containers. The first step of installation is to create a folder location for each storage item listed below. Tricentis default recommendations are provided, but any storage location (drive and/or folder) may be selected.
- 
                                                    
Create storage locations. Use the following table as guidance to select storage locations for the Vera items listed. You can choose any location you like, or you can follow Tricentis default recommendation. Note that for Linux, paths are case sensitive.
 
| Storage item | Recommended location | Description | 
|---|---|---|
| 
                                                             MongoDB Data Storage  | 
                                                        
                                                             /var/lib/vera/data/db  | 
                                                        
                                                             This location will become the internal storage drive for the MongoDB database.  | 
                                                    
| 
                                                             Vera Server Install Directory  | 
                                                        
                                                             /var/lib/vera  | 
                                                        
                                                             The folder containing all inputs and outputs for the Vera Server.  | 
                                                    
| 
                                                             Tricentis Vera Web Portal Install Directory  | 
                                                        
                                                             /var/lib/vera  | 
                                                        
                                                             The folder containing all inputs and outputs for the Tricentis Vera Web Portal. Usually this is the same as the Vera Server Data Directory.  | 
                                                    
- 
                                                    
Create the following folders within the Vera Data Directory selected above.
 
| Required folder name | Description | 
|---|---|
| 
                                                             Certificates  | 
                                                        
                                                             A folder for placing SSL certificates used to enable HTTPS on the Vera Server, Tricentis Vera Web Portal and SSO communication.  | 
                                                    
| 
                                                             Configs  | 
                                                        
                                                             The folder containing the Tricentis Vera Web Portal configuration file.  | 
                                                    
| 
                                                             Logs  | 
                                                        
                                                             The output directory for log files generated by Vera applications.  | 
                                                    
| 
                                                             UserImports  | 
                                                        
                                                             A folder for placing CSV files containing user profiles to import. The Vera Server will monitor this folder for new .csv files that are dropped in. Also, the repository for previous imported .csv files and their import logs.  | 
                                                    
| 
                                                             Mongo-Setup  | 
                                                        
                                                             A temporary folder for placing setup scripts for the MongoDB database.  | 
                                                    
| DocumentTemplates | A folder for placing the default Document Templates to import upon startup. These files are used for document generation and will only import each file once, but will remain in the directory afterwards. | 
| DocumentTypes | A folder for placing a json file listing the default Document Types to import upon startup. These files are used for document generation and will only import each file once, but will remain in the directory afterwards. | 
Create folders (setup-vera-folders.sh.txt)
sudo mkdir -p /var/lib/vera/data/db
sudo mkdir /var/lib/vera/Logs
sudo mkdir /var/lib/vera/UserImports
sudo mkdir /var/lib/vera/Certificates
sudo mkdir /var/lib/vera/Mongo-Setup
sudo mkdir /var/lib/vera/Configs
sudo mkdir /var/lib/vera/DocumentTemplates
sudo mkdir /var/lib/vera/DocumentTypes
                                                - 
                                                    
Stage Tricentis Vera Web Portal Configurations. Copy config.yaml to the Configs directory created in Step 2.
 - 
                                                    
Stage MongoDB setup script. Copy mongo-users-setup.js to the Mongo-Setup directory created in Step 2.
Note: You may want to change the default passwords in the script file. If you do, be sure to use the correct passwords in the docker-compose file below.
 - 
                                                    
Stage user import file. If desired, copy a .csv file containing initial user definitions into the UserImports directory created in Step 2. See Import Vera users.
Example: Sample User import .csv file (userimport.csv)
CopyUser Name,Full Name,Email,System Roles,IdP,IdP User Name
vera_admin,Default Vera Administrator,vera_admin@tricentis.com,System Administrator,Vera,vera_admin:ChangeThis1Pwd - 
                                                    
Stage the default document templates files. Copy the following files into the DocumentTemplates folder created in step 2:
 - 
                                                    
Stage the default document type file. Copy the following files into the DocumentTypes folder created in step 2:
 
Open TCP/IP ports
Both the Tricentis Vera Web Portal and the Vera Server (API) require the ability to receive inbound HTTP traffic. Each component can accept traffic via HTTP, HTTPS, or both.
To accept traffic via HTTP or HTTPS, follow these steps:
- 
                                                    
Select an HTTP and/or HTTPS port for the Tricentis Vera Web Portal and the Vera Server (API). Default recommendations are provided, but any ports may be selected.
 
| Container | 
                                                             Port recommendation (http / https)  | 
                                                    
|---|---|
| 
                                                             Tricentis Vera Web Portal  | 
                                                        
                                                             80 / 443  | 
                                                    
| 
                                                             Vera Server  | 
                                                        
                                                             8080 / 8443  | 
                                                    
| 
                                                             Vera API qTest Route Action  | 
                                                        
                                                             5100 / 6100  | 
                                                    
| 
                                                             Vera API Jira Route Action  | 
                                                        
                                                             5101 / 6101  | 
                                                    
| 
                                                             RabbitMQ  | 
                                                        
                                                             5672 / 15672  | 
                                                    
- 
                                                    
Configure the installation machine's firewall to open each selected port for incoming traffic.
 
Create a JWT certificate
Vera uses JSON Web Tokens (JWT) to securely transmit information between clients and the Vera Server API. These JWTs are digitally "signed" during creation so that their integrity can be verified on subsequent calls without requiring the user to provide login information. A certificate is required to "sign" the JWT. The certificate must be in the PKCS#12 format and can be from a trusted source or a self-signed certificate. The instructions below will create a self-signed certificate in the proper format and upload it to the appropriate location:
- 
                                                    
Create a private key for use in the certificate.
Copyopenssl genrsa -aes256 -out private.pass.pem 2048
openssl rsa -in private.pass.pem -out key.pem - 
                                                    
Create the self-signing request. Enter the information requested during the certificate creation.
Copyopenssl req -new -key key.pem -out server.csr - 
                                                    
Generate the self-sign certificate.
Copyopenssl x509 -req -sha256 -days 3650 -in server.csr -signkey key.pem -out jwt.crtNote: The
-daysparameter above sets the expiration date for the self-signed certificate. We recommend setting the expiration to be 3650 days (approx. 10 yrs), but this can be modified based on your local security requirements. Setting a shorter expiration only requires the certificate to be regenerated more frequently. - 
                                                    
Generate a PFX file from the certificate and private key. Provide a password for the PFX file, and make note of the password for a later use in the installation.
Copyopenssl pkcs12 -export -out jwt.pfx -inkey key.pem -in jwt.crtNote: You should provide a password when creating the PFX file.
 - 
                                                    
Copy the PFX file to the Certificates directory for Vera Server.
 
Create or provide a service provider certificate and private key
Vera acts as a SAML Service Provider for Single Sign-On. This requires Vera to have a certificate available for signing SAML requests that are sent to the SAML identity provider. The certificates are required for the Web Portal to start up, even if you are not using the SSO feature. The certificate and key must be in the PEM format. The simplest way to provide these is to use the certificate and key files created above when creating the JWT certificate. If needed, you can follow the instructions below to create a new certificate and key file for the service provider:
- 
                                                    
Create a private key for use in the certificate.
Copyopenssl genrsa -aes256 -out sp-private.pass.pem 2048
openssl rsa -in sp-private.pass.pem -out sp-privatekey.pem - 
                                                    
Create the self-signing request. Enter the information requested during the certificate creation.
Copyopenssl req -new -key sp-privatekey.pem -out sp-server.csr - 
                                                    
Generate the self-sign certificate.
Copyopenssl x509 -req -sha256 -in sp-server.csr -signkey sp-privatekey.pem -out sp-publiccert.crt - 
                                                    
Copy the certificate and private key files to the Certificates directory for Vera Server.
 - 
                                                    
Ensure that the config.yaml file is updated with the correct filenames for the following parameters:
 
| Config.yaml variable | Example value | 
|---|---|
| 
                                                             samlPrivateKeyFile  | 
                                                        
                                                             sp-privatekey.pem  | 
                                                    
| 
                                                             samlPublicCertFile  | 
                                                        
                                                             sp-publiccert.crt  | 
                                                    
Configure Docker Orchestration (Docker Compose)
To configure Docker Compose, follow these steps:
- 
                                                    
Download the Vera Docker Compose file docker-compose.yml.
 - 
                                                    
Place the file in the previously selected Vera Server install directory.
 - 
                                                    
Download the Vera environment file .env.
For a filled in example, see below.
 - 
                                                    
Place the file in the previously selected Vera Server install directory.
 - 
                                                    
Update the .env file with the configurations below. Do not update the docker-compose.yml file directly unless you know what you are doing.
Note: You should not need to update the docker-compose.yml file directly. That file will load the variables from the .env file when it is started by Docker. For custom configurations, see below for examples or contact your account representative.
 - 
                                                    
Create a file named vera_internal_secret.txt. The contents of the file must be provided by the Vera team.
 - 
                                                    
Place the file in the Vera Server install directory that you selected previously.
If you upgrade from a version prior to 2024.1, the Docker Compose file in the Vera Server install directory must be updated to be compatible with Docker Secrets. These updates can be found in the docker-compose.yml file in step 1 under the vera.web.portal container and the secrets property.
 - 
                                                    
Configure Vera installation properties. Set the following variables in the .env file.
Variable name Description Suggested value VERA_RELEASE_TAGThis is the release tag for the version you want to install.
2025.3.0
VERA_SERVER_DATA_DIRECTORYThe path to the Vera Server installation files and folders created above.
/var/lib/vera
VERA_WEB_PORTAL_DATA_DIRECTORYThe path to the Tricentis Vera Web Portal Installation files and folders created above.
/var/lib/vera
 - 
                                                    
Configure Vera Server encryption key: Vera Server encrypts stored user passwords. You must supply the encryption key for Vera to use to encrypt and decrypt user passwords. The encryption key is stored in the following environment variable of the docker compose file
Variable name Description Suggested value VERA_ENCRYPTION_KEYA string used to encrypt stored passwords.
<Enter an encryption key>
 - 
                                                    
Configure Vera Server JWT certificate and password. Vera Server uses JWTs to authenticate users. A certificate must be present on the server in order to validate incoming JWTs. The certificate is stored in the Certificates directory and must be in the PFX format. A password-protected PFX certificate file should have been created during an earlier step of these instructions. Provide the filename and password of the generated PFX file in the following environment variables of the docker compose file:
Variable name Description Suggested value VERA_JWT_PFX_FILENAMEThe JWT PFX file created above.
jwt.pfx
VERA_JWT_PFX_PASSWORDThe password for the JWT PFX file created above.
<JWT Certificate Password>
Note: If you use a $ character in your password, you will need to escape the character with another $. E.g. $ would be $$ in the docker-compose file. Quotes may also be needed if using other special characters.
 - 
                                                    
Configure ports. Update the following ports based on the setup above:
Variable name Description Suggested value VERA_SERVER_HTTP_PORTHTTP Port for the Vera Server API.
8080
VERA_SERVER_HTTPS_PORTHTTPS Port for the Vera Server API.
8443
VERA_QTEST_HTTP_PORTHTTP Port for the qTest Route Actions Service.
5100
VERA_QTEST_HTTPS_PORTHTTPS Port for the qTest Route Actions Service.
6100
VERA_JIRA_HTTP_PORTHTTP Port for the Jira Route Actions Service.
5101
VERA_JIRA_HTTPS_PORTHTTPS Port for the Jira Route Actions Service.
6101
VERA_WEB_PORTAL_HTTP_PORTHTTP Port for the Web Portal.
80
VERA_WEB_PORTAL_HTTPS_PORTHTTPS Port for the Web Portal.
443
Note: If you are not using HTTPS, you can leave the HTTPS related variables blank in the .env file.
 - 
                                                    
Configure Tricentis Vera Web Portal URL.
Variable name Description Suggested value VERA_WEB_PORTAL_URLThe URL for the Web Portal.
https://<server>
 - 
                                                    
Configure Vera Worker qTest webhook URL.
Variable name Description Suggested value VERA_WORKER_QTEST_WEBHOOKURLThe URL for qTest to send webhooks to Vera.
https://<your.vera.url>/api/qtest/webhook
 
Enable and disable HTTPS for the Vera Server (API)
Choose whether to enable or disable support for HTTPS in the Vera Server (API).
Enable HTTPS for API
To enable HTTPS for API, follow these steps:
- 
                                                    
Export the server's certificate as a password-protected PFX file, and store the file in the
Certificatesdirectory configured previously. - 
                                                    
Edit the .env file as follows:
 
| Variable name | Value | 
|---|---|
| 
                                                             
  | 
                                                        
                                                             <PFX file name> example: My-server.pfx  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             <PFX Password> Example: crypticpassword  | 
                                                    
Disable HTTPS for API
To disable HTTPS for API, edit the docker-compose.yml file by changing the following configurations:
- 
                                                    
Remove the HTTPS port entry under the ports section of the following services: vera.server, vera.api.qtest.routeactions, and vera.api.jira.routeactions.
Examples:
- 
                                                            
"${VERA_SERVER_HTTPS_PORT}:5001"
 - 
                                                            
"${VERA_QTEST_HTTPS_PORT}:443"
 - 
                                                            
"${VERA_JIRA_HTTPS_PORT}:443"
 
 - 
                                                            
 - 
                                                    
Delete the ASPNETCORE_Kestrel__Certificates__Default__Path environment variable configurations.
 - 
                                                    
Delete the ASPNETCORE_Kestrel__Certificates__Default__Password environment variable configurations.
 - 
                                                    
Edit the ASPNETCORE_URLS environment variable configurations for all services as follows:
- 
                                                            
Old Value: http://+:5000;https://+:5001
 - 
                                                            
New Value: http://+:5000
 
 - 
                                                            
 
Enable and disable HTTPS for the Tricentis Vera Web Portal
Choose whether to enable or disable support for HTTPS in the Tricentis Vera Web Portal.
Enable HTTPS for Web Portal
To enable HTTPS for the Web Portal, follow these steps:
- 
                                                    
Obtain a valid SSL certificate registered for the installation machine's domain name.
 - 
                                                    
Export the server's certificate as a password-protected PFX file, and store the file in the
Certificatesdirectory configured previously. - 
                                                    
Edit the .env file as follows:
 
| Variable name | Value | 
|---|---|
| 
                                                             
  | 
                                                        
                                                             <PFX file name> Example: My-server.pfx  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             <PFX Password> Example: crypticpassword  | 
                                                    
Note: When creating the PFX file, ensure that you are using OpenSSL version 3.0 or later. The default encryption in previous versions of OpenSSL is no longer accepted by Node.js without providing additional startup parameters. OpenSSL version 3+ uses a newer encryption algorithm that Node.js accepts by default.
Disable HTTPS for Web Portal
To disable HTTPS for the Web Portal, delete the web portal's SSL port mapping configuration from the docker-compose.yml file:
- 
                                                    
Under the ports section of the vera.web.portal service, remove the HTTPS port entry: "${VERA_WEB_PORTAL_HTTPS_PORT}:443"
 - 
                                                    
Delete the VERA_WEB_HTTPS_FILE environment variable configuration.
 - 
                                                    
Delete the VERA_WEB_HTTPS_PASS environment variable configuration.
 
Configure a MongoDB container
To configure a MongoDB container, follow these steps:
- 
                                                    
Edit the .env file as follows:
 
| Variable name | Description | Suggested value | 
|---|---|---|
| 
                                                             
  | 
                                                        
                                                             The docker tag for the version of MongoDB you want to use.  | 
                                                        
                                                             6.0.2  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             The user name for the user that will access MongoDB on behalf of Vera Server.  | 
                                                        
                                                             vera_server_user  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             The password for the Vera Server MongoDB user.  | 
                                                        
                                                             <crypticpassword>  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             The user name for the user that will access MongoDB on behalf of the Web Portal.  | 
                                                        
                                                             vera_web_portal_user  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             The password for the Vera Web Portal MongoDB user.  | 
                                                        
                                                             <crypticpassword>  | 
                                                    
- 
                                                    
Download the MongoDB Docker Compose Setup file setup-mongo.yaml.
 - 
                                                    
Place the file in the
Vera Server Datadirectory selected previously.Note: It is important that the
setup-mongo.yamlfile be located in the same directory as thedocker-compose.ymlfile. - 
                                                    
Navigate to the
Vera Server Datadirectory. - 
                                                    
Execute the following command:
docker compose -f ./setup-mongo.yaml up- 
                                                            
If you get the error:
Couldn't connect to Docker deamon - is it running? - 
                                                            
Log out of the server, log back in, and start Docker with sudo service docker start
 
 - 
                                                            
 - 
                                                    
Wait for MongoDB to download and extract, and for the script to complete. When completed, the user will see a message instructing them to press Ctrl+C to exit.
 - 
                                                    
Use Ctrl + C to exit the script and to stop the MongoDB container.
 
Configure a RabbitMQ container
To configure a RabbitMQ container, follow these steps:
- 
                                                    
Edit the .env file as follows:
 
| Variable name | Description | Suggested value | 
|---|---|---|
| 
                                                             
  | 
                                                        
                                                             The docker tag for the version of RabbitMQ you want to use.  | 
                                                        
                                                             3.12.7  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             The user name for RabbitMQ.  | 
                                                        
                                                             rabbitmq_user  | 
                                                    
| 
                                                             
  | 
                                                        
                                                             A password for the RabbitMQ user.  | 
                                                        
                                                             <crypticpassword>  | 
                                                    
- 
                                                    
Download the RabbitMQ Docker Compose file rabbitmq.yml.
 - 
                                                    
Launch the RabbitMQ container with the following command:
docker-compose -f .\rabbitmq.yml up -d 
Note: RabbitMQ should be left running when restarting other Vera containers and must be running before starting other Vera containers.
Download/Launch the Vera containers
To launch the Vera containers, follow these steps:
- 
                                                    
Navigate to the Vera Server install directory.
 - 
                                                    
Execute the following commands:
- 
                                                            
docker login veraserver20190209075900.azurecr.io -u fc12bdd5-6753-40b3-a4da-32bc5d451b39 -p bhfV1g0RhN1O~xS-R-Osv67~HO.zeKMbHp - 
                                                            
docker compose up -d 
 - 
                                                            
 - 
                                                    
Wait for the services to start.
You can check container processes by executing
docker ps– containers should running consistently and appear healthy. - 
                                                    
Verify that you can access the Tricentis Vera Web Portal at the expected port.