> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/webviewer-server/wv-server-setup.md).

# Set Up WebViewer Server

Learn how to start a free trial of WebViewer Server using a Docker Linux container. Increase file format support and viewing performance across all platforms. Get unlimited usage and support. The Apry

This guide will show you how to get started with a free trial of the [WebViewer Server](/web/webviewer-server/wv-server-deployment.md) by loading a Docker Linux container instance and using it to display WebViewer on a local HTTP server.

WebViewer server is primarily recommended for increased [file format support](/web/what-is-webviewer/file-format-support.md) and to enable server side rendering which can improve overall viewing performance on all platforms. This performance improvement is most noticeable on low end mobile devices and Internet Explorer.

Your free trial includes unlimited trial usage and support from solution engineers.

{% hint style="warning" %}
**Docker Linux container**

The Docker instance is a Linux container and is our preferred set up method. This Docker Linux container instance can be run on any system which supports Docker technology. An alternative is to [deploy without docker](/web/webviewer-server/deployment/wv-server-deploying-without-docker.md) in order to set up our Windows version of WebViewer server.
{% endhint %}

## Set up the server

1. The server sample uses Docker **(version 2+)** technology, which requires Windows 10, Windows Server 2016, or a Linux distribution. In theory, any system is sufficient as long as Docker can be installed.Install the appropriate package from <https://docs.docker.com/engine/installation/>
2. Download the WebViewer Server package.

{% @apryse-download-button/apryse-download-button id="WebViewer\_Server\_Docker\_web\_web" title="Download WebViewer Server" showVersion="true" %}

3. Unpack the archive and navigate to its directory.

{% tabs %}
{% tab title="Bash" %}
{% code lineNumbers="true" %}

```bash
unzip WebViewer-Server.zip -d WebViewer-Server
cd WebViewer-Server
```

{% endcode %}
{% endtab %}
{% endtabs %}

4. Open the docker\_compose.yml file in the root directory of the unpacked archive and set the `TRN_PDFNET_KEY` option to your license key (you do not need to set this property if you are demoing our software). If you are looking to allow WebViewer Server to do remote fetches, you should also tell it which values are [allowed](/web/webviewer-server/wv-server-config.md#whitelist-domains-for-file-fetches). The below example for `TRN_ALLOWED_DOMAINS` is set to `*` which allows all remote fetches.

<pre class="language-txt" data-line-numbers><code class="lang-txt">TRN_PDFNET_KEY: '<code class="expression">visitor.claims.wvKey || "YOUR_LICENSE_KEY"</code>'
TRN_ALLOWED_DOMAINS: '*'
</code></pre>

5. Run the command line from the unpacked archive:

{% tabs %}
{% tab title="Bash" %}
{% code lineNumbers="true" %}

```bash
sudo docker-compose up
```

{% endcode %}
{% endtab %}
{% endtabs %}

You should be up and running at this point.

## Accessing the demo

Once the server is running, the server demo app is accessible at:

{% tabs %}
{% tab title="Shell" %}
{% code lineNumbers="true" %}

```sh
http://<HOST_IP_ADDRESS or localhost>:8090/demo
```

{% endcode %}
{% endtab %}
{% endtabs %}

## WebViewer integration

Once the docker container running, then supply the `webviewerServerURL` and `l` license argument to your WebViewer upon startup:

<pre class="language-js" data-line-numbers><code class="lang-js">WebViewer({
  // initialDoc: 'YOUR_FILE.pdf',
  webviewerServerURL: 'http://&#x3C;HOST_IP_ADDRESS or localhost>:8090/',
  licenseKey: '<code class="expression">visitor.claims.wvKey || "YOUR_LICENSE_KEY"</code>'
}, viewerElement);
</code></pre>

<pre class="language-js" data-line-numbers><code class="lang-js">WebViewer({
  // initialDoc: 'YOUR_FILE.pdf',
  pdftronServer: 'http://&#x3C;HOST_IP_ADDRESS or localhost>:8090/',
  licenseKey: '<code class="expression">visitor.claims.wvKey || "YOUR_LICENSE_KEY"</code>'
}, viewerElement);
</code></pre>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/webviewer-server/wv-server-setup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
