Some test text!

Deploy to Azurekeyboard_arrow_down

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 Serer.

linkRunning 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.

linkQuick 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.

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.

It should be noted that for Azure Web Apps for Containers you must enable the following configuration option TRN_AZURE_WEBAPP_COMPAT

  1. Through the Azure Dashboard create a new Web Apps for Containers resource on Azure.
  2. 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 OS option to Linux.
  3. Click Configure Container.

    • In the new page, click DockerHub.
    • In the field Image and optional tag type pdftron/webviewer-server:latest. Click apply.
    • If using a version of WebViewer Server version older than 1.4.67 Azure is not supported, you will have to use the azure image pdftron/webviewer-server:azurewa-latest. If you are using this version, you may skip part 4.
    • Once returned to the main page, click `Create**.
  4. Once the container has deployed you need to add the TRN_AZURE_WEBAPP_COMPAT argument

    • Select Configuration under Settings
    • Select New Application Setting
    • Add the name TRN_AZURE_WEBAPP_COMPAT as the name and true as the value, check Deployment slot setting
  5. 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 demo:12345

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.

linkRunning 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.

  1. Navigate to Create a resource in the Azure portal and search for Container Instances, once you've found it select it and create.
  2. Set your Container image type to Public. In the Container image field type pdftron/webviewer-server:latest.
  3. Click OK
  4. The Configuration page should now be shown.

    • Set Port to 8090
    • Set OS Type to Linux
    • Set each Environment Variable to the variables you use under the environment section of the docker-compose.yml for example: "INCLUDE_DEMO":"true"
  5. Hit OK twice 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.

linkBuilding 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 you can access here.

  1. Start by navigating to Create a resource in the Azure portal and search for Container Registry, once you've found it select it and create.
  2. Fill in the fields with settings appropriate to your Azure account. Ensure the Admin User is enabled.
  3. Deploy the Registry and wait for it to be created. Once it has been completed move to the next step.
  4. 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 the Login Server, you will also need this when pushing the image.
  5. Install Docker.
  6. Login to your Azure Image Registry:

    • docker login -u your_username -p your_password your_login_server
  7. Pull, tag and push our docker images from your command prompt:

    • docker pull pdftron/webviewer-server:latest
    • docker tag pdftron/webviewer-server:latest your_login_server/image_name:latest
    • docker push your_login_server/image_name:latest
  8. You now have a pushed image on your Container Registry. You can move on to building your server.

linkAzure FAQ

  1. Why do I need a special image for Web Apps?
  2. The standard WebViewer Server container image run as a user named Tomcat, which is for security purposes. However, its recently been found that a recent change to Azure infrastructure as of June 2019 has broken non-root users inside of containers in certain situations. In order to avoid running into this problem, we provide images prefixed with the azurewa specifier.
  3. Do I need ARR Affinity cookies for my Web App server?
  4. 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.

Get the answers you need: Support


Free Trial

Get unlimited trial usage of PDFTron SDK to bring accurate, reliable, and fast document processing capabilities to any application or workflow.

Select a platform to get started with your free trial.

Unlimited usage. No email address required.

Join our live demo to learn about use cases & capabilities for WebViewer

Learn more