Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated On-Prem Prerequisites doc #340

Merged
merged 2 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions src/pages/docs/on-premise setup/install-docker-on-uzure-infra.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ contextual_links:
- type: section
name: "Contents"
- type: link
name: "Steps to install Docker on an Unix OS in Azure infrastructure"
name: "Steps to Install Docker on an Unix OS in Azure Infrastructure"
url: "#steps-to-install-docker-on-an-unix-os-in-azure-infrastructure"
---

<br>

---

This article discusses a step-by-step guide to installing Docker on a Unix-based OS within Azure infrastructure.

## **Steps to install Docker on an Unix OS in Azure infrastructure**
---

## **Steps to Install Docker on an Unix OS in Azure Infrastructure**

1. Connect to your Azure virtual machine.

Expand Down Expand Up @@ -77,3 +80,4 @@ Refer to this page https://github.com/datahub-project/datahub/issues/2020 for av



---
34 changes: 28 additions & 6 deletions src/pages/docs/on-premise setup/prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,49 @@
---
title: "On-premise setup prerequisites"
title: "On-Premise Setup Prerequisites"
order: 26.1
page_id: "On-premise setup prerequisites"
metadesc: "This detailed guide will help you understand the prerequisites for Testsigma On-premise setup | Know these details before installing Testsigma On-premise setup"
noindex: false
search_keyword: ""
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Software, Hardware, and other Requirements"
url: "#software-hardware-and-other-requirements"
---

---

<br>

This article outlines the essential steps and requirements for a successful on-premise setup. Understanding these prerequisites before installing the software is important to ensure a smooth installation process. So, follow the recommendations and requirements given in this document to avoid any issues during the installation process.


---



## **Software, Hardware, and other Requirements**


|**Requirements**|**Details**|
|---|---|
|**Server Configuration**|<li> OS: Ubuntu(22.04 LTS) or higher<br> <li> CPU: 24 core<br> <li> RAM: 64 GB<br> <li> DISK: 1 TB - 2 TB (Depending on usage)|
|**Software Requirements**|<li> Internet connectivity on server<br> <li>Docker installation capability on server<br> <li>Root privileges on server<br> <li>Permissions to install/Start the following libraries/executables on customer employee machines:<br> - Java/JVM<br> - Appium <br> - ADB from android<br> - Ability to run xcrun on mac os machines<br> - Ability to run xattr on mac os machines|
|**Network Requirements**|Allow incoming connections from outside to server <br> *.sengrid.com <br> *.messagebird.com <br> *.twilio.com|
|**Server Configuration**|<li> **OS**: Ubuntu (22.04 LTS) or higher<br> <li> **CPU**: 24 core<br> <li> **RAM**: 64 GB<br> <li> **DISK**: 1 TB - 2 TB (Depending on usage)|
|**Software Requirements**|<li> Internet connectivity on server<br> <li>Docker installation capability on server<br> <li>Root privileges on server<br> <li>Permissions to install/Start the following libraries/executables on customer employee machines:<br> - Java/JVM<br> - Appium <br> - ADB from android<br> - Ability to run xcrun on mac os machines<br> - Ability to run xattr on mac os machines|
|**Machine Configuration**|<li> It is recommended to install Ubuntu at the root with a 256GB machine.<br> <li> Additionally, it is advised to mount a 2TB and above (based on the usage) hard disk for storage.<br> <li> All required software will be installed at the root, and storage configurations will be set to utilize the mounted disk.|
|**Network Requirements**| <li> If the firewall enabled, *.docker.com, *.amazon.com, *.amazonaws.com, *.maven.org, these should be whitelisted.<br> <li> If they wanted to use the Testsigma mail service, *.sendgrid.com needs to be whitelisted. |
|**Database Requirements**|<li>MySQL database would be installed by default.<br> <li> The user must use only MySQL version 5.7<br> <li> If the customer is going to use a MySQL installation, then we need to install the following commands to setup DB: <br> <br>*CREATE DATABASE IF NOT EXISTS tstmp;* <br>*CREATE DATABASE IF NOT EXISTS identity;* <br> *CREATE DATABASE IF NOT EXISTS master;* <br> *CREATE DATABASE IF NOT EXISTS tenant1;* <br> *CREATE DATABASE IF NOT EXISTS kibbutz;* <br> <br>*SET session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';* <br> <br> *SET global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';*<br> <br> <li>For cloud databases like AWS RDS if the setting of sql_mode is not allowed the provider-specific option can be used like AWS RDS parameter groups. <br> <li> For external databases we would be encouraged to have disk space of 512GB - 1TB depending on customer usage.|
|**Backup information**|Customers would be responsible for taking backup of the Database.|
|**SMTP Requirements**|Customers need to produce their SMTP settings in case they desire to use their internal SMTP instead of Testsigma SMTP servers.|
|**Additional Requirements**|<li> Depending on user preference, the agent can run on Linux, Windows, or Mac machines.<br> <li> The final storage location for screenshots, apps, and other permanent files is the host server where Testsigma containers run.<br> <li> Temporary files like screenshots may need periodic cleaning depending on usage and disk space availability.<br> <li> The server operation does not require any Windows machines.<br> <li> Customer IT teams must regularly perform data backups through regular disk or specific data folder backups.<br> <li> Testsigma On-Prem Server is not a hypervisor-based installation.<br> <li> By default, the customer would be provided URLs ending with testsigmaprivate.com (like https://cutomername.testsigmaprivate.com)<br> <li> If the customer desires to have these pointed to their domain name (like customername.com), then we need the following:<br> - Inform Testsigma before the Onprem build is generated.<br> - Get the SSL certificates of the domain in interest and copy them to the server where installation would happen.<br> <li>For installing Testsigma Recorder on chrome browsers,<br> - We need the ability to enable developer mode.<br> - We need the ability to install the Testsigma recorder in unpacked mode.|
|**Additional Checks**| <li> Check the internet connection to the server machine.<br> <li> Please unblock the ports if blocked. Ports: 3306, 7010, 8080, 8082, 8084, 9090, 9095, 9096, 9097, 4200, 4201, 4203, 4210, 4211, 4220, 4230.|

[[info | **NOTE**:]]
|Admin access is necessary for On-Prem installation.
| - Testsigma will provide a MySQL docker container; if you want to use the hosted MySQL, please acquire one with the above specification.
| - It is recommended to have a scheduled image backup.
| - Admin access is necessary for On-Prem installation.



---
43 changes: 33 additions & 10 deletions src/pages/docs/on-premise setup/setup.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "On-Premise setup with docker-compose file"
title: "On-Premise Setup with Docker-compose File"
order: 26.3
page_id: "Onprem Installation Steps"
metadesc: "This article discusses steps to deploy the docker compose file for Testsigma On-prem setup, how to access the application, how to stop and remove the containers, and more."
Expand All @@ -10,31 +10,40 @@ contextual_links:
- type: section
name: "Contents"
- type: link
name: "Steps to deploy docker compose file"
name: "Steps to Deploy Docker Compose File"
url: "#steps-to-deploy-docker-compose-file"
- type: link
name: "Accessing Application"
url: "#accessing-application"
- type: link
name: "To stop and remove the containers"
name: "To Stop and Remove the Containers"
url: "#to-stop-and-remove-the-containers"
- type: link
name: "Containers defined in the docker compose file"
name: "Containers Defined in the Docker Compose File"
url: "#containers-defined-in-the-docker-compose-file"
- type: link
name: "How to change the Domain Name"
name: "How to Change the Domain Name"
url: "#how-to-change-the-domain-name"
---

<br>

---

You'll receive ***docker-compose.yml*** files based on your requested configuration from Testsigma that specifies the configuration for a multi-container app that contains a MySQL server, a global HTTPD server, a Faktory worker service, and several UI services for various components of the application.

## **Steps to deploy docker compose file**
---

## **Steps to Deploy Docker Compose File**

1. Install Docker and Docker Compose on your system.

2. Open a terminal and navigate to the directory where the docker-compose.yml file is located.

3. Run the command ***docker-compose up*** to start the containers defined in the docker-compose.yml file given by Testsigma. This will start all the services in the background and keep them running even if you close the terminal window.


---

## **Accessing Application**
Along with the given docker-compose files you will receive a list of URLs for accessing the application.

Expand All @@ -50,10 +59,16 @@ Once the application is up and running, you can access it using the IP address o

For Example, the sample **docker-compose.yml** file mentions that the web service is accessible on port 80. You can access it by navigating to **http://&lt;server-ip&gt;80** in your web browser.

## **To stop and remove the containers**
---


## **To Stop and Remove the Containers**
To stop and remove the containers, you can run the command ***docker-compose down***. This command will stop and remove all the containers and networks created by the **docker-compose.yml** file.

## **Containers defined in the docker compose file**
---


## **Containers Defined in the Docker Compose File**

- The MySQL server is named **testsigma\_mysql** and uses the image, **testsigmainc/onprem:mysql-&lt;companyName&gt;-trial-&lt;Version&gt;**. It has a volume mounted to persist data. (Users can also set up their own mysql server and map it in the docker-compose file. For more information on connecting to external/existing MySQL database, refer to [connecting to external MySQL.](https://testsigma.com/docs/getting-started/setup/docker/#connecting-to-external-mysql))
- The Faktory worker service is named as testsigma_worker and it uses the image, **testsigmainc/onprem:worker-&lt;companyName&gt;-trial-&lt;Version&gt;**.
Expand Down Expand Up @@ -97,7 +112,11 @@ TS_APP_SERVER_PROTOCOL: https
[[info | **NOTE**:]]
|All services will connect to a custom network named ***testsigma-network***. Each service will have a health check specified with different intervals, timeouts, and retries, depending on the service.

## **How to change the Domain Name**
---


## **How to Change the Domain Name**

1. From testsigma request the docker image with new domain names using Github Actions.
2. Customer need to replace the HTTPS Certificate in **testsigma-load-balancer** container.
For this they can keep the public key and private key files in the host machine and specify it as volume in the ***'docker-compose'*** file.
Expand All @@ -123,3 +142,7 @@ volumes:
- Here, replace ***'/path/to/new/server.crt'*** with the path to the new ***'server.crt'*** file on your host machine, and replace ***'/path/to/new/server.key'*** with the path to the new ***'server.key'*** file on your host machine.

- When you run ***docker-compose up***, the ***'server.crt'*** and ***'server.key'*** files in the container will be replaced with the new files from the host machine.



---
Loading