Skip to content

INFOnline Measurement: Service platform self-hosting

Prerequisites and system requirements

To run the service platform in your infrastructure, you should meet the following requirements:

  • Linux (Unix) based infrastructure
  • appropriate permissions on the systems
  • appropriate environment to run Docker images
  • Proxy for SSL offloading1
  • CORS configuration via SSL offloader2 or via service platform3

1 An SSL offloader is a software that takes care of the SSL/TLS connections. It needs a certificate that has been issued for the domain. For INFOnline Measurement, this is required because the service platform uses it as a proxy server upstream. The service platform itself cannot manage SSL/TLS connections. Known software in this area are nginx or Apache HTTP Server.
2 CORS must be configured correctly in order to ensure the error-free function of the census measurement. This can be done accordingly in the SSL offloader used.
3 CORS can also be configured in the service platform, see Configuration Container.

We recommend the following minimum system requirements for a PI volume of up to 2,000 PI per minute:

  • CPU: 4core
  • RAM: 16GB
  • HDD: 80GB

If there are peak times on your site with more than 2,000 PI per minute, please dimension the system accordingly larger.

Deployment of the service platform

In order to run the service platform in your infrastructure, we will provide you with the following after the order is placed:

  • Docker image for the service platform
  • AccessToken for the operation of the service platform

We will provide you with the Docker image via quay.io repo after registration.
You will receive the access data for the repo with your order confirmation - we will provide you with the AccessToken after the setup of your self-hosted service platform in our system with another setup email.

Setup of the service platform in the INFOnline system

To ensure tamper-free measurement via INFOnline Measurement, the digital sites and the associated service platforms are managed centrally at INFOnline. The service platform receives the required information from the central INFOnline system via corresponding configurations. An AccessToken is required for communication between the INFOnline system and the self-hosted service platform. You can obtain this from our Customer Service team upon request. In return, please send us the corresponding host entry under which the self-hosted service platform will be accessible.

Operation of the service platform

  1. Installation
  • Create an environment file with the parameters to start the container.
    relay_key=<relay-client-name>
    geoip=true1
    token=<AccessToken>2
  • Repo login:
    docker login --username quay.io3
  • Pulling the container:
    docker pull quay.io/infonline/relay-client:[VERSION]4
  1. Start
    - Starts a container listening on port 8101:
    docker run --name relay-client --env-file [PATH_TO_ENVIRONMENT_FILE] --publish 127.0.0.1:8101:53119/tcp -d quay.io/infonline/relay-client:[VERSION]

1 Enables geolocation in anonymous measurement mode with appropriate MaxMind license, see configuration-container.
2 Obtain provisioning-service-platform with service platform setup in INFOnline system.
3 You will receive the username with the setup confirmation.
4 You will receive the current version with your setup email, if there are any changes you will receive a separate email.

Configuration Container

The following parameters can be used to configure the container:

abbreviation type default length pattern mandatory description
TOKEN String - 20 ^[a-zA-Z0-9_]*$ yes Token for authentication at IO
RELAY_KEY String - ^[a-zA-Z0-9_]*$ yes The host name of the service platform that you submitted to INFOnline during setup
GEOIP Bool False - - no GeoIP resolution (Yes/No), only relevant when using the INFOnline Measurement anonymous, not relevant for the use of the Census Measurement
cors Bool False - - no Specifies whether the CORS header should be set by the relay client for https (only from version 0.9.1)
Achtung
1
If you use INFOnline Measurement anonymous, ```GEOIP = true``` must be set. Otherwise, all traffic for INFOnline Measurement anonymous will be counted as foreign traffic.

Recommendations for operation

To ensure a smooth operation, we recommend to design your infrastructure, respectively the operation of the service platform dynamically.

Monitoring

The service platform provides an API for monitoring the function of the container.
1 Under the address localhost:8101/hc.io the container offers the possibility to call a healthcheck, which checks the functionality of the PHP page and thus the chain of the software. If the check is successful, a 200 message is returned.
2 The container offers the possibility to connect a Prometheus exporter at the address localhost:53120/nginx_status, localhost:53120/rsyslog_status and localhost:53120/php_status. However, these addresses are only accessible within the container daemon network and therefore the exporter must be included in it.

Effects in case of failures

The Service Platform is the central module of INFOnline Measurement. If a malfunction occurs in the operation of the service platform, this will have a direct impact on the measurement results. A failure and/or disturbed accessibility of the service platform leads directly to an under-measurement or to a measurement failure. The measurement calls that might have been received during the failure cannot be restored. We strongly recommend that you use the possibilities of Monitoring.

Updates of the service platform

We will inform you about updates of the service platform at an early stage and provide you with new versions of the Docker images as described in Provisioning of the service platform.


Last update: January 7, 2022