Deploying WebViewer on Azure
This guide will detail possible methods for deploying on Azure, remember to keep in mind the minimum requirements when deploying WebViewer Server.
Running on a Linux VM
To build the WebViewer Server on a Linux VM, follow this guide on building docker compose images alongside our guide on building the WebViewer Server image.
If building with the Azure VM, you may have to change the version specifier in the docker-compose.yml file to
version:"2.0"or update docker-compose depending on the VM used.
Quick Start with Web Apps for Containers
Azure WebApp Performance Issues
Due to how Azure WebApps are designed, their main drive has read/write speeds around 20 MB/s, this may cause a loss in performance in WebViewer Server. We recommend that the read/write available exceed 60 MB/s at least in any system you deploy in.
It is possible to deal with these issues by using a dedicated instance, but this can only be acquired by contacting Azure regarding your account.
This section specifies how to build a Web App server for containers on Azure. Azure Web Apps provide you a fully managed environment for hosting web servers. This will be the easiest way to get setup on Azure.
Through the Azure Dashboard create a new
Web Apps for Containersresource on Azure.On the resource creation screen, configure the settings of your server.
Type in a name for your app, this will also be the domain name for your server.
Set the
OSoption toLinux.
Click
Configure Container.
In the new page, click
DockerHub.In the field
Image and optional tagtypepdftron/webviewer-server:latest. Click apply.A version of WebViewer Server version older than
_1.5.1_can no longer be used on Web AppsOnce returned to the main page, click Create.
Set the options
Web SocketstoOnand the optionAlways Ontotrue. While running, these options will be underApplication settingsandGeneral settingsrespectively.Restart the container.
If you wish to access the container it will be available under the URL field on the Overview page. You can access the demo application built in by using URL/demo?s to access it. It will take a few minutes for the server to become available after the initial creation is complete.
You may also add a key to the container and control any other settings as listed in our Docker image guide. Go to Application Settings and under the heading Application Settings select Add new setting. Set the name to your setting and the value to the desired value, like such (you do not need to set this property if you are demoing our software):
TRN_PDFNET_KEY YOUR_APRYSE_LICENSE_KEY
It is also possible to build the WebViewer Server container yourself and host it on Azure to be used with Web Apps, to do so follow this guide.
Running on Container Instances
Building on a Container Instance allows you more flexibility in usage but does not offer the fully integrated environment that a Web App server provides.
Navigate to
Create a resourcein the Azure portal and search forContainer Instances, once you've found it select it and create.Set your
Container image typetoPublic. In theContainer imagefield typepdftron/webviewer-server:latest.Click
OKThe
Configurationpage should now be shown.
Set
Portto8090Set
OS TypetoLinuxSet each
Environment Variableto the variables you use under theenvironmentsection of thedocker-compose.ymlfor example:"INCLUDE_DEMO":"true"
Hit
OKtwice more and the container should now be deploying.
If you included the demo in this build, you should now be able to access the demo at container_instance_address:8090/demo?s A private Azure image registry can also be used here.
Building the Azure Image Registry
The image registry is responsible for serving built container images on Azure. This can be done if you wish to host the Docker image directly within your network. This registry can be used when building Container Instances or Web Apps for Containers.
Microsoft also provides a more detailed guide on this process.
Start by navigating to
Create a resourcein the Azure portal and search forContainer Registry, once you've found it select it and create.Fill in the fields with settings appropriate to your Azure account. Ensure the
Admin Useris enabled.Deploy the Registry and wait for it to be created. Once it has been completed move to the next step.
Go to your registry in your resources tab and find your username and password. It will be under
Settings>Access Keys. You will need the username and password when pushing the image. Next go to Overview and find theLogin Server, you will also need this when pushing the image.Install Docker.
Login to your Azure Image Registry:
docker login -u your_username -p your_password your_login_server
Pull, tag and push our docker images from your command prompt:
docker pull pdftron/webviewer-server:latestdocker tag pdftron/webviewer-server:latest your_login_server/image_name:latestdocker push your_login_server/image_name:latest
You now have a pushed image on your Container Registry. You can move on to building your server.
Azure FAQ
Do I need ARR Affinity cookies for my Web App server?
If you wish to scale your Web App server beyond 1 container ARR Affinity should be enabled to ensure sticky sessions for users. If this is not enabled, the server will have problems if clients are swapped between servers during a document connection.
Last updated
Was this helpful?