Skip to content

Deploy On-Premise Infra on an offline server

This tutorial explains how to setup OctoPerf's On-Premise Infra on an offline server.

Prerequisites

This tutorial requires:

  • A computer with docker installed and an Internet access preferably with the same OS than the offline server (for compatibility purposes),
  • A possibility to transfer files to the offline server:
    • you have access remotely to the offline server from your local machine: scp or any alternative can be used to transfer files to the remote server
    • you have no connection at all to the offline server: you need to transfer files physically - for example using a USB key

If one of these elements is missing it will not be possible to perform an offline installation of OctoPerf's On-Premise Infra.

Overview

The tutorials will teach you how to deploy an OctoPerf's On-Premise Infra offline. This involves:

For each one of these files, we will proceed to transfer the package to the offline server and then run the installation process as usual.

The next sections of this tutorial will be divided between the On-Premise Infra installation and the On-Premise Agents installation, both have similar prerequisites, but the agent machines will require less files to be transferred so we handle them in a different section.

On-Premise Infra installation

Docker

Docker provides an installation procedure that relies on downloading a package.

Just make sure to transfer the package to the offline server before you unpack it. Docker will be required for the next steps of this procedure so make sure to install it first.

Docker compose

Make sure you have the docker compose plugin installed:

ubuntu@pop-os:~$ docker compose version 
Docker Compose version v2.16.0

if the plugin is not installed, please follow the instructions here.

On-Premise Infra config files

The Zip containing all the required configuration files is available here. This file will be used by docker-compose to execute and configure all the required components.

On-Premise Infra docker images

We are going to use docker save to download the required images into a .tar file. The command lines below are for version 13.2.2 of OctoPerf.

Warning

To get the latest version of these images check our changelog or the docker-compose.yml file inside the enterprise-edition.zip. The nginx image version is located inside the dockerfile of the nginx folder. Do not use the tag "latest" as it may cause some inconsistencies.

If you haven't pulled the images locally, make sure to do so first:

docker pull octoperf/enterprise-edition:13.2.2 octoperf/enterprise-ui:13.2.2 octoperf/octoperf-ui:13.2.2 octoperf/enterprise-documentation:13.2.2 octoperf/utility-server:13.2.2 docker.elastic.co/elasticsearch/elasticsearch:7.17.11 nginx:latest

Alternatively you can simply launch the makefile in order to get all the images downloaded and use docker images -a to list them.

Then use docker save to make a tar file out of all of them:

docker save -o enterprise.tar octoperf/enterprise-edition:13.2.2 octoperf/enterprise-ui:13.2.2 octoperf/octoperf-ui:13.2.2 octoperf/enterprise-documentation:13.2.2 octoperf/utility-server:13.2.2 docker.elastic.co/elasticsearch/elasticsearch:7.17.11 nginx:latest

Now we must transfer the enterprise.tar file to the offline host and execute the docker load command:

docker load -i enterprise.tar octoperf/enterprise-edition:13.2.2 octoperf/enterprise-ui:13.2.2 octoperf/octoperf-ui:13.2.2 octoperf/enterprise-documentation:13.2.2 octoperf/utility-server:13.2.2 docker.elastic.co/elasticsearch/elasticsearch:7.17.11 nginx:latest

Installation

Now that all the prerequisites are in place, you can proceed with the usual installation procedure.

Agent installation

Docker

Docker provides an installation procedure that relies on downloading a package.

Just make sure to transfer the package to the offline server before you unpack it. Docker will be required for the next steps of this procedure so make sure to install it first.

Agent docker images

We are going to use docker save to download the required images into a .tar file. Here's the command line for version 13.2.2 of OctoPerf.

Warning

Make sure to check our changelog to get the latest version of these images. Do not use the tag "latest" as it may cause some inconsistencies in case we have released a preview of our next version.

If you haven't first pulled the images locally, make sure to do so first:

docker pull octoperf/docker-agent:13.2.0 octoperf/jmeter-standard:13.2.0 octoperf/jmeter-webdriver:13.2.0

Then use docker save to make a tar file out of all of them:

docker save -o agent.tar octoperf/docker-agent:13.2.0 octoperf/jmeter-standard:13.2.0 octoperf/jmeter-webdriver:13.2.0

Now we must transfer the agent.tar file to the offline host and execute the docker load command:

docker load -i agent.tar octoperf/docker-agent:13.2.0 octoperf/jmeter-standard:13.2.0 octoperf/jmeter-webdriver:13.2.0

Installation

Now that all the prerequisites are in place, you can proceed with the usual installation procedure.