Some test text!
Web / Guides / Setting up Server
WebViewer BIM Server is a REST server for performing 3D document work.
This server comes packaged as a Docker image available for Linux, MacOS Intel (not in M1) or Windows.
Pull latest webviewer bim server image:
docker pull pdftron/webviewer-bim-server:latestThe BIM server supports both setting configuration through a config file and setting it directly
through environment variables. To set configuration through a config file take the following steps:
The configuration file is a JSON file with the following options:
license - The server license keytemp_directory - The temp directory to use for processing. Defaults to ./sys/tmplog_directory - The log directory to use for server logs. Defaults to ./sys/logsdata_directory - The directory to store cached data in. Defaults to ./sys/datalog_level - Sets the logging level. Accepts DEBUGINFOTRACEWARNnum_threads - The number of concurrent jobs to target. Defaults to number of CPUs detected minus 1.bind_address - The server binding address. Defaults to 0.0.0.0port - The server port. Defaults to 8085max_cache_size - The maximum cache size before forcing cache deletion. Defaults to 90% of the available disk.force_zero_cache- Force cache to constantly be removed. Defaults to falserelease_mode - Sets HTTP to release mode, defaults to true.request_timeout - Maximum time to wait for an HTTP request result in seconds. Defaults to 10 seconds.job_timeout - Maximum time to wait for a job to complete . Defaults to 10 minutes.use_https - If true, enables HTTPS and uses the HTTPSPort. Defaults to falsehttps_port - HTTPS port, defaults to 443https_cert_file - The HTTPS public certificate location.https_key_file - The HTTPS private certificate location.allowed_origins - The origins allowed to access the server. Expects a string array ['test.com','pdftron.com']allow_credentials - If true, includes the Access-Control-Allow-Credentials header in server responses. Required if using withCredentials on client-side API calls.A sample of what the json file should look like.
{
"license": "my_license_key",
"allowed_origins": ["test.com", "pdftron.com"],
"request_timeout": 30
}In order to pass these arguments as enviroment variables, just run the docker contianer with variable with the prefix trn_, such as:
docker run -e trn_license="MYLICENSE" -p 8085:8085 pdftron/webviewer-bim-serverdocker run -p 8085:8085 -v ABSOLUTE_PATH_TO_CONFIG_JSON_FILE:/home/docjob/config pdftron/webviewer-bim-serverThis will mount the config file to the container into the path /home/docjob/config where it will be loaded from.
docker run -p 8085:8085 -e trn_license="my_license_key" pdftron/webviewer-bim-serverThis will run the container with the trn_license configuration variable defined.
It's important to maintain uptime when using a Docker container. The best way to do this is with a container management tool such as Portainer, Kubernetes, OpenShift, Docker, ECS and much more.
When managing your container, you can use the built-in health API to monitor its status.
If you enabled withCredentials in supported client-side APIs, the BIM server must be configured correctly:
allow_credentials is enabled.allowed_origins is not using the default * wildcard.See client-side documentation for more details.
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales