TABLE OF CONTENTS
Below you can find a step-by-step description of the platform installation process. The video below demonstrates the real execution of each step proposed in this document.
Preparing for the Installation
Check the requirements of the installation environment
$> curl -sL -o requirements-check.sh https://raw.githubusercontent.com/labforward/installation/main/requirements-check.sh
$> sudo bash ./requirements-check.sh
Fill out this Questionnaire to obtain the installation package.
It is recommended to use a fresh VM for the platform installation. If the VM is already used for other applications or has a previous version of any Labforward product, then:
- Make sure ports 80 and 443 are available
- Uninstall docker. The installation script will try to do it for you, but it is safer if you remove it manually before starting the process
- In the /etc/resolv.conf file:
It can have at most three nameservers
Each nameserver can have at most three search queries, and one of them must be your DNS domain
Checkpoints: Checkpoints are verification steps executed after each part of the installation.
You should be able to verify the checkpoint output before proceeding to the next step.
Checkpoint 1
Receive an e-mail with the installation package and follow-up instructions.
Installation Process
Update the package manager of the operational system. This example uses an Ubuntu 20.04:
sudo apt-get upgrade
Download the installation package script:
$> curl -o installation-script.sh -sL https://use.the.url.from.the.email
Execute the installation package and provide the PASSWORD received in the email:
$> sudo bash installation-script.sh
Downloading labforward-installer-package bundle
Type the pasword provided for installation:
Checkpoint 2
Check if the Kubernetes PODs are running:
$> sudo kubectl get pods
NAME | READY | STATUS | RESTARTS | AGE |
kotsadm-587dd565c8-2j4wm | 1/1 | Running | 0 | 4m2s |
kotsadm-rqlite-0 | 1/1 | Running | 0 | 4m1s |
kurl-proxy-kotsadm-65ddb6fb4f-n42bd | 1/1 | Running | 0 | 6m7s |
Access the admin console in the browser:
$> curl ifconfig.me # This command will tell what is this machine public IP. We will call it {{my-public-ip}} in the following sections
Open in your browser: http://{{my-public-ip}}:8800
You will have reached this checkpoint if you have a kotsadm service installed, running and reachable from your browser. This is what your browser should look like:
The password is shown during the installation. You can reset the admin password at anytime using the following command:
$> sudo kubectl kots reset-password
Application Configuration
After logging into the Admin Console, proceed with the minimum required configuration fields:
Domain: Include the DNS domain pointing out to the machine IP running the Kubernetes cluster in the Domain field
TLS Certificate Configuration:
(Option 1): Customer Provided - Include your company’s TLS certificate
(Option 2): Use Let’s Encrypt - Labforward will use the Let’s Encrypt certificate
(Option 3): Self-Signed - Labforward will create and use a self-signed certificate
Email Server - SMTP:
- SMTP Hostname
- SMTP From Email - E-mail used to send Labforward e-mails, such as reset password
Click on the Continue button at the bottom of the page:
Click on the Deploy button on the pre-flights page
*Checkmarks and warnings are acceptable, but errors will block the deployment.
Checkpoint 3
Open the Account login page in the browser at https://account.{{domain}}
What you accomplished so far:
- Labforward’s applications are ready for use
- The next releases and configurations will be available via the admin console - https://admin-console.{{domain}}
- All data is being stored in embedded data sources deployed inside Kubernetes
- Self-sign-up is available using the e-mail provided in the configurations to create new accounts
What’s next:
The following steps are optional and depend on each customer's needs:
- Configure other authentication mechanisms such as LDAP and SSO
- Migrate the data of a previous Labforwad’s installation
- Connect the applications to an external data source
Connect to External Data Source (Optional)
Go to Config in the admin console and look for the data source options. The current possibilities are Labfolder Database, Laboperator Database, and Object Storage:
- Select the External option and insert the URL (the query parameters are optional, Labforward recommends keeping the same as before), username, and password
- At the bottom of the screen, click on Save Config
- Go back to the dashboard and deploy the new version.
It is normal for databases to restrict access via IP. If the database was running in the same VM as the application, it has a chance to permit connections only from localhost.
The DBA must grant permission to the Kubernetes cluster IP to permit access from the Kubernetes cluster.
For example, in the MySQL database, execute the following query for labfolder:
grant all privileges on labfolder.* to 'labfolder'@'{{IP}}' identified by 'password' with grant option;
Where IP is the Kubernetes cluster {{IP}}
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article