Hosting the web app externally

There may be situations where you want to host the web app on a reverse proxy or external web server instead of on the Pexip Infinity Conferencing Nodes. If you do this and you also want to customize the web app, you will need to manually upload the customized files.

This topic describes how to download and copy over the web app for hosting externally, how to apply customized branding to externally-hosted web apps, and how to upgrade externally-hosted web apps.

Hosting options overview

There are two methods for hosting the customized Connect web app, either:

  • on the Conferencing Nodes (via an upload on the Management Node), or
  • on an external web server or reverse proxy.

Hosting on the Conferencing Nodes

This is the standard method for applying branding to the Pexip Infinity platform. It involves uploading a branding package to the Management Node and associating the package with a unique web app path. The package is then pushed out to all Conferencing Nodes, from where those customizations are served to all web app users joining using that path. Full information about customization when using this method is given in Customizing and branding the Connect apps and Advanced Connect app branding and customization.

Hosting on an external web server or reverse proxy

This hosting method involves downloading a copy of the entire web app from the Management Node and uploading it onto an external web server or reverse proxy (e.g. the Pexip Reverse Proxy) and serving it from that server. This method allows you, for example, to host multiple different branding customizations under different URLs on those external web servers or reverse proxies.

The remainder of this topic deals with externally-hosted web apps.

Copying over the Connect web app

To download the Connect web app files and copy them to an external web server or reverse proxy:

  1. From the Management Node, go to Web App > Web App Download.

    You see the Infinity Connect web app download page.

  2. In the Download web app field, use the drop-down menu to select the version of the web app you want to host externally, and select Download.

    A ZIP file containing the files for the selected web app is downloaded to your local machine.

  3. Unzip the files and locate the relevant directory:

    • for Webapp3: webapp3/<revision>/web/
    • for Webapp2: webapp2/<revision>/web/static/dist/web/
  4. Copy the contents of the web/ directory to the external web server or reverse proxy.

Examples

Assuming that your external web server (http://pexample.com) is serving files from /var/www/html:

For Webapp3:

  1. Download the Webapp3 ZIP file from Pexip Infinity.
  2. Unzip the file to your home directory (unzip $webapp3.zip).
  3. Copy the contents to /var/www/html (cp -r webapp3/$version/web /var/www/html/webapp3).
  4. Go to http://example.com/webapp3 to use Webapp3.

For Webapp2:

  1. Download the Webapp2 ZIP file from Pexip Infinity.
  2. Unzip the file to your home directory (unzip $webapp2.zip).
  3. Copy the contents to /var/www/html (cp -r webapp2/$version/web/static/dist/web /var/www/html/webapp2).
  4. Go to http://example.com/webapp2 to use Webapp2.

Uploading branding files

When hosting the web app on an external web server or reverse proxy you must manually upload any customized client files to the appropriate directory on the host server. The name of the directory depends on whether the branding applies to Webapp3 or Webapp2.

You obtain the files to be uploaded by downloading them from the Management Node, using the branding portal to create a branding package, or creating them manually.

Webapp3

For Webapp3, the branding files must be uploaded to a branding folder directly under the directory from which the web app is being served. You must create the branding folder if it does not already exist.

For example, assuming that your external web server (http://pexample.com) is serving Webapp3 from /var/www/html/webapp3 and you are using a branding package downloaded from Pexip Infinity:

  1. Download the Webapp3 branding package from Pexip Infinity.
  2. Unzip the files to your home directory (unzip $branding.zip).
  3. Copy the branding files to the hosted Webapp3 (cp webapp3/branding /var/www/html/webapp3/).
  4. Go to http://example.com/webapp3 to use the branded Webapp3.

See Manually customizing Connect Webapp3 for details of the files that you can include in the branding folder.

Webapp2

For Webapp2, the branding files must be uploaded to a custom_configuration folder directly under the directory from which the web app is being served. You must create the custom_configuration folder if it does not already exist.

Any branding packages downloaded from Pexip Infinity will have the structure webapp2/branding, so you must change the name of the branding folder to custom_configuration when copying it to the external server.

For example, assuming that your external web server (http://pexample.com) is serving Webapp2 from /var/www/html/webapp2 and you are using a branding package downloaded from Pexip Infinity:

  1. Download the Webapp2 branding package from Pexip Infinity.
  2. Unzip the files to your home directory (unzip $branding.zip).
  3. Copy the branding files to the hosted Webapp3 (cp webapp2/branding/* /var/www/html/webapp2/custom_configuration/).
  4. Go to http://example.com/webapp2 to use the branded Webapp2.

See Manually customizing Connect Webapp2 for details of the files that you can include in the custom_configuration folder.

Note that:

  • For Webapp2, if you want to customize the settings you must place your settings.json file in the custom_configuration directory along with your other customized files.
  • For Webapp2, when hosting the web app on an external web server, you must supply a settings.json file and change the serverAddress variable to point to a Conferencing Node e.g. "serverAddress": "conferencingnode1.example.com". You can only specify one Conferencing Node. This modification is not required if you are hosting the web app on a reverse proxy as it will typically already be configured to forward requests to your Conferencing Nodes.

Maintaining customizations when upgrading Pexip Infinity

If the web app is being hosted on an external web server or reverse proxy, the copy of the web app must be upgraded manually whenever the Pexip Infinity installation is upgraded or you update the web app software bundle. You should migrate the existing customized branding directory (Webapp3) or custom_configuration directory (Webapp2) on the external web server or reverse proxy onto the new version:

  1. Backup the branding or custom_configuration directory on the external web server or reverse proxy containing your current customizations.
  2. Upgrade your Pexip Infinity deployment, or install the software bundle for a new web app version.
  3. Download and copy over the upgraded web app files as described in Copying over the Connect web app.
  4. Replace the contents of the branding or custom_configuration directory with your previously customized contents.
  5. Check if you need to add any more customizations to support any new features.

    When a new version of the web app includes new features, any new customizable elements are added to the default versions of the files in the branding or custom_configuration directory that is shipped with the new software. Therefore, after an upgrade you should compare your customized versions of these files with the new default versions, to see if any text, styles, colors or resource files should be adjusted.