Katalon On-Premises deployment guide v3.0.0
This guide provides instructions on how to install Katalon On-Premises version 3.0.0, covering both License Server and Katalon Platform options.
About the On-Premises License Server
Note: The On-Premises License Server only applicable to users with any On-Premises plan.
The On-Premises License Server only supports Linux.
Existing On-Premises package users can contact our Sales team at business@katalon.com for information regarding Katalon Studio plan upgrades and data migration.
The Katalon Studio On-Premises License Server allows the installation and activation of Katalon Studio at the client's network location. It is best for users who need to work within a restricted network environment.
There are two package plans available:
To install Katalon Platform On-Premises successfully, ensure your Linux host meets the following general requirements.
Prerequisites
Before deploying Katalon Platform On-Premises, you need to satisfy the following prerequisites:
Supported platforms:
64-bit Linux (x86_64 architecture) distributions:
General system requirements:
Operating System | 64-bit Linux (Debian or CentOS based) |
CPU | Minimum 4 cores |
Memory | Minimum 16 GiB |
Hard Drive | Minimum 100 GiB available hard disk space |
Docker and Docker Compose v2 are installed on Katalon Platform server. If Docker and Docker Compose are not available via your Linux server's package manager, refer to the following instructions for manual installation.
User Managed PostgreSQL Server
In general, the Katalon On-Premises Platform only supports the PostgreSQL database management system.
The following table lists the minimum and recommended values for the configuration parameters:
Parameter | Minimum Value | Recommended Value |
max_connections | 200 | 400 |
shared_buffers | 2 GiB | 8 GiB |
Network Configuration
To access Katalon Platform On-Premises, configure to open these ports in firewall/security group. Make sure to open these ports (inbound/outbound) in Katalon Platform Server:
SSL Certificate
To run the License Server with Katalon Platform with HTTPS, you need to run with three sub-domains that meet:
A domain for License Server (ex: admin.my-domain.com);
A domain for TestOps (ex: testops.my-domain.com);
A domain for Authorizer (ex: login.my-domain.com); and
SSL Certificate for your domain.
The following is the complete process of installing and configuring the Katalon Platform On-Premises License Server. Make sure your environment meets all of the system requirements and prerequisites as outlined, see Prerequisites.
You will learn how to:
Back up your existing databases.
Create and configure the Keycloak database.
Download, configure, and deploy the License Server and TestOps.
Set up TestOps storage.
Configure SSL certificates and update environment variables.
Start the services using Docker Compose.
Back up the database
- Stop the existing services.
To stop the Katalon On-Premises version 2.0.x, run the following commands.
On a Terminal, navigate to the install directory:
cd /katalon/katalon-2.0.x/
(If using only the License Server) Enter the following command to stop all containers:
(If using both License Server and TestOps) Enter the following command to stop all containers:
docker compose --profile testops down
- Backup PostgreSQL (k1, kit).
You can back up your PostgreSQL database using any of the following methods:
Method 1: Using psql
prompt. See PostgreSQL documentation: psql.
Here's an example of how to back up the
k1
and
kit
databases using the
psql
prompt:
pg_dump --file "kit_backup_DATE.sql" --host "<DB_HOST>" --port "<DB_PORT>" --username "<DB_USERNAME>" --format=p --verbose kit
pg_dump --file "k1_backup_DATE.sql" --host "<DB_HOST>" --port "<DB_PORT>" --username "<DB_USERNAME>" --format=p --verbose k1
Method 2: Via AWS console.
Method 3: Using database management tools such as pgAdmin (see pgAdmin documentation), DBeaver (see DBeaver documentation), etc.
Create the Keycloak database
In Katalon On-Premises version 3.0.0, a new database named keycloak
is required in addition to the existing k1
and kit
databases.- Access the PostgreSQL server.
You can access PostgreSQL using one of the following methods:
- Create the
keycloak
database.Once connected to PostgreSQL, run the following command to create the
keycloak
database:
CREATE DATABASE keycloak;
- Verify the databases.
After creating the
keycloak
database, ensure that all three required databases (
k1
,
kit
, and
keycloak
) exist in PostgreSQL by running the following command:
The output should include the three required databases:
psql (14.12 (Ubuntu 14.12-0ubuntu0.22.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+---------+-----------------------
k1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
keycloak | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
kit | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 |
template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(6 rows)
postgres=#
After creating the Keycloak database, download and configure the Katalon On-Premises package for version 3.0.0.- Prepare the installation directory.
- Open a Terminal.
- Enter the following command to create the installation directory:
mkdir -p /katalon/katalon-3.0.0/
- Enter the following command to copy the downloaded package to the installation directory:
cp katalon-op-3.0.0.zip /katalon/katalon-3.0.0/
- Verify the package.
Run the following command to verify if the package was copied successfully:
You should see an output similar to this:
drwxr-xr-x 3 root root 4096 Jun 4 03:43 .
drwxr-xr-x 5 root root 4096 May 30 14:45 ..
-rw-r--r-- 1 root root 5008436657 Jun 3 09:02 katalon-op-3.0.0.zip
- Unzip the package.
Unzip the package by running the following command:
unzip katalon-op-3.0.0.zip
This will create the
katalon-op
directory:
drwxr-xr-x 3 root root 4096 Jun 4 03:43 .
drwxr-xr-x 5 root root 4096 May 30 14:45 ..
drwxrwxr-x 3 root root 4096 Jun 4 07:56 katalon-op
-rw-r--r-- 1 root root 5008436657 Jun 3 09:02 katalon-op-3.0.0.zip
- Navigate to the unzipped folder.
Change to the
katalon-op
directory and list its contents:
You should see a list of files similar to the example below:
drwxrwxr-x 3 root root 4096 Jun 4 07:56 .
drwxr-xr-x 3 root root 4096 Jun 4 03:43 ..
-rw-rw-r-- 1 root root 960 Jun 4 07:56 .env
-rw-rw-r-- 1 root root 1090 Jun 3 08:59 Build-Info.txt
-rw-rw-r-- 1 root root 6105 Jun 3 08:44 docker-compose.yml
-rw-rw-r-- 1 root root 5033163363 Jun 3 08:59 images_3.0.0.tar.gz
-rw-rw-r-- 1 root root 1305 Jun 3 08:44 katalon-op.crt
-rw-rw-r-- 1 root root 1703 Jun 3 08:44 katalon-op.key
drwxr-xr-x 2 root root 4096 Jun 4 04:32 logs
- Load Docker images.
To load the images for version 3.0.0, run the following command:
docker load < images_3.0.0.tar.gz
- Verify Docker images.
Run the following command to verify if the Docker images were successfully loaded:
You should see a list of Docker images similar to the example below:
REPOSITORY TAG IMAGE ID CREATED SIZE
katalon-op/testops 3.0.0 bc8505e7d8dd 3 days ago 422MB
katalon-op/license-server 3.0.0 5d8fd0ce786e 3 days ago 1.03GB
katalon-op/keycloak 3.0.0 bae44d368348 3 days ago 449MB
katalon-op/repo-scanner 3.0.0 52d01a25eaa4 6 days ago 724MB
katalon-op/organizing-be 3.0.0 fc3d1ddb9185 8 days ago 477MB
katalon-op/envoy 3.0.0 5c7ce86459f0 9 days ago 170MB
katalon-op/kafka 3.0.0 577b760f3875 9 days ago 551MB
katalon-op/authorizer 3.0.0 2697d9fc45bd 11 days ago 160MB
katalon-op/keycloak-config-cli 3.0.0 08ea2d10abfd 13 days ago 275MB
katalon-op/testops-engine 3.0.0 d06b7736e9f2 4 weeks ago 5.27GB
katalon-op/redis 3.0.0 92714677dba2 2 months ago 116MB
katalon-op/zookeeper 3.0.0 b191a95f8d52 N/A 510MB
- Verify image details.
To ensure the image versions match your Katalon On-Premises plan, open the
Build-Info.txt
file and compare the
IMAGE ID
against the Docker image list above with this command:
The file should contain the following:
KATALON_OP_VERSION: 3.0.0
June 3, 2024
### IMAGES TAG ###
ENVOY: op-a55958afbcab500990aaf6bbaf58dd7ff5b56f97
LICENSE_SERVER: op-a3fb4c2d0076902d84abba053e240b6bae6a503b
AUTHORIZER: op-9f21f7c53b075ce222e1c2196288113327fa48e2
KEYCLOAK: op-b89406c7794b8e30ec4906b8e9f55fd7566b2a5e
KEYCLOAK_CONFIG_CLI: op-b11786b85dc318b2a12b612e5fc243e0533487f5
REDIS: op-4786e459da28f99f4ade5700b467cc56baf734bd
KAFKA: op-f96f1b540295dfbb9597e38837bef566ce2a4f70
ZOOKEEPER: op-f3374d97e2245152cec93c0c8c9ad1d49eb5abd7
TESTOPS: op-e4c2267e98cbdd770beeefbd6ffb3270d78c6495
TESTOPS_ENGINE: op-ba1f17f9f5417ca001854b93b0b3e2fedee2418f
ORGANIZING_BE: op-649a471d996ae61ab877abe3b29906aac6c5da75
REPO_SCANNER: op-af0e9babeafec19c8309ed3e98469c1632504e65
### IMAGES ID ###
ENVOY_ID: 5c7ce86459f0
LICENSE_SERVER_ID: 5d8fd0ce786e
AUTHORIZER_ID: 2697d9fc45bd
KEYCLOAK_ID: bae44d368348
KEYCLOAK_CONFIG_CLI_ID: 08ea2d10abfd
REDIS_ID: 92714677dba2
KAFKA_ID: 577b760f3875
ZOOKEEPER_ID: b191a95f8d52
TESTOPS_ID: bc8505e7d8dd
TESTOPS_ENGINE_ID: d06b7736e9f2
ORGANIZING_BE_ID: fc3d1ddb9185
REPO_SCANNER_ID: 52d01a25eaa4
Set up TestOps storage
To set up your TestOps, you need to create a folder for TESTOPS_FILE_STORAGE_PATH
. In this example, the preferred configuration is TESTOPS_FILE_STORAGE_PATH=/opt/testops-data
. If you choose a different path, replace /opt/testops-data
with your preferred directory.- Run the following command to create the TestOps storage directory:
mkdir -p /opt/testops-data
- Set the correct permission for the directory by running the following command:
chmod 755 /opt/testops-data
If your storage directory differs, substitute your own path in place of /opt/testops-data
.
Deploy the License Server and TestOps
To start the deployment process for Katalon On-Premises, follow these steps to configure the environment and set up the License Server and TestOps.- Navigate to the
katalon-op
directory.Use the following commands to go to the
katalon-op
directory and verify the files:
You should see the following files in the directory:
drwxrwxr-x 3 root root 4096 Jun 4 07:56 .
drwxr-xr-x 3 root root 4096 Jun 4 03:43 ..
-rw-rw-r-- 1 root root 960 Jun 4 07:56 .env
-rw-rw-r-- 1 root root 1090 Jun 3 08:59 Build-Info.txt
-rw-rw-r-- 1 root root 6105 Jun 3 08:44 docker-compose.yml
-rw-rw-r-- 1 root root 5033163363 Jun 3 08:59 images_3.0.0.tar.gz
-rw-rw-r-- 1 root root 1305 Jun 3 08:44 katalon-op.crt
-rw-rw-r-- 1 root root 1703 Jun 3 08:44 katalon-op.key
drwxr-xr-x 2 root root 4096 Jun 4 04:32 logs
- Configure the
.env
file.Open the
.env
file and replace the placeholder values with your own information. Ensure you update the following:
Database information.
Email and password information.
TestOps storage path, URLs, domain certificate, and key.
Note: Ensure the admin password follows these guidelines:
Minimum of 8 characters.
Contains at least one uppercase letter, one lowercase letter, one special character, and one number.
The password must not start or end with a space.
The
.env
file should contain basic and advanced settings for both HTTP and HTTPS scenarios, depending on your deployment. Refer to the following sample script guide to know which values to replace with your configuration:
HTTP scenario configuration### Katalon-OP env
########### Basic Settings ###########
# Database configs
DB_HOST=host.docker.internal <= Replace your own
DB_PORT=5432 <= Replace your own
DB_USERNAME=postgres <= Replace your own
DB_PASSWORD=admin <= Replace your own
# Admin user configs
ADMIN_EMAIL=admin@my.domain <= Replace your own
ADMIN_PASSWORD=Admin@123 <= Replace your own (see note)
# Auth server configs
AUTH_SERVER_URL=http://localhost:8082 <= Replace your own
# License Server configs
LICENSE_SERVER_URL=http://localhost:8080 <= Replace your own
# TestOps configs (optional if testops profile is not used)
TESTOPS_SERVER_URL=http://localhost:8081 <= Replace your own
TESTOPS_FILE_STORAGE_PATH=/opt/testops-data <= Replace your own
########### Advanced Settings ###########
# HTTP config
HTTP_PORT_1=8080 <= If apply HTTP, can adjust with your port or leave it by default
HTTP_PORT_2=8081 <= If apply HTTP, can adjust with your port or leave it by default
HTTP_PORT_3=8082 <= If apply HTTP, can adjust with your port or leave it by default
# HTTPS configs
HTTPS_PORT= <= Leave it empty by default
CERT_PATH= <= Leave it empty by default
KEY_PATH= <= Leave it empty by default
KEY_PASSPHRASE= <= Leave it empty by default
# TestOps proxy configs (optional if testops profile is not used)
PROXY_PROTO=http <= Leave it by default
PROXY_HOST= <= If have Proxy, replace your own
PROXY_PORT= <= If have Proxy, replace your own
PROXY_USERNAME= <= If have Proxy, replace your own
PROXY_PASSWORD= <= If have Proxy, replace your own
PROXY_EXCLUDE_LIST= <= If have Proxy, replace your own
TRUSTED_CA_CERT_PATH= <= If have an internal CA, replace your own
HTTPS scenario configuration### Katalon-OP env
########### Basic Settings ###########
# Database configs
DB_HOST=host.docker.internal <= Replace your own
DB_PORT=5432 <= Replace your own
DB_USERNAME=postgres <= Replace your own
DB_PASSWORD=admin <= Replace your own
# Admin user configs
ADMIN_EMAIL=admin@my.domain <= Replace your own
ADMIN_PASSWORD=Admin@123 <= Replace your own (see note)
# Auth server configs
AUTH_SERVER_URL=https://login.kata-op.com <= Replace your own
# License Server configs
LICENSE_SERVER_URL=https://admin.kata-op.com <= Replace your own
# TestOps configs (optional if testops profile is not used)
TESTOPS_SERVER_URL=https://testops.kata-op.com <= Replace your own
TESTOPS_FILE_STORAGE_PATH=/opt/testops-data <= Replace your own
########### Advanced Settings ###########
# HTTP config
HTTP_PORT_1=8080 <= Leave it by default
HTTP_PORT_2=8081 <= Leave it by default
HTTP_PORT_3=8082 <= Leave it by default
# HTTPS configs
HTTPS_PORT=443 <= If apply HTTPS, input 443
CERT_PATH= <= Replace your own
KEY_PATH= <= Replace your own
KEY_PASSPHRASE= <= Replace your own if have
# TestOps proxy configs (optional if testops profile is not used)
PROXY_PROTO=http <= Leave it by default
PROXY_HOST= <= If have Proxy, replace your own
PROXY_PORT= <= If have Proxy, replace your own
PROXY_USERNAME= <= If have Proxy, replace your own
PROXY_PASSWORD= <= If have Proxy, replace your own
PROXY_EXCLUDE_LIST= <= If have Proxy, replace your own
TRUSTED_CA_CERT_PATH= <= If have an internal CA, replace your own
If you are running the License Server with Katalon Platform, you must configure three sub-domains, known as Fully Qualified Domain Names (FQDNs). An FQDN is the complete domain name that specifies the exact location of a server or resource on the internet.
The required sub-domains include:
admin.kata-op.com
(for the License Server)
testops.kata-op.com
(for TestOps)
login.kata-op.com
(for the Authorizer)
Katalon recommends using a Wildcard SSL certificate to secure these sub-domains.
- Prepare the SSL certificate and key.
- Update the
.env
file.The following is an example of how to configure the HTTPS settings in the
.env
file, assuming the certificate and key files are located in
/katalon/katalon-3.0.0/
:
# HTTPS config
HTTPS_PORT=443
CERT_PATH=/katalon/katalon-3.0.0/your-domain.crt
KEY_PATH=/katalon/katalon-3.0.0/your-domain.key
KEY_PASSPHRASE=
If the certificate and key are stored elsewhere, substitute your directory path for /katalon/katalon-3.0.0/
.
Run the application with Docker Compose
To start the Katalon On-Premises application, run the corresponding Docker Compose command depending on your deployment plan.Start Katalon On-Premises.- If using only the License Server, enter the following command:
- If using both the License Server and TestOps, run this command instead:
docker compose --profile testops up -d
Once the process starts, you can monitor the containers as they initialize. The startup process may take some time to complete. The application will be ready once all services have started, as shown in the image below: