Sign inSign up

accusoft/prizmdoc-viewer-eval

By accusoft

•Updated 1 day ago

Simple PrizmDoc Viewer backend and demo suitable for easy evaluation on a single machine

Image
0

50K+

accusoft/prizmdoc-viewer-eval repository overview

⁠PrizmDoc Viewer Eval

This Docker image makes it easy to evaluate PrizmDoc Viewer on a single machine.

Running this image will:

  1. Start a demo web application at http://localhost:8888 where you can easily explore the viewer and its features using your own documents.
  2. Start a complete PrizmDoc Viewer backend which you can begin using for local development of your application.

NOTE: The accusoft/prizmdoc-viewer-eval⁠ Docker image is only suitable for evaluation and local development. It is not suitable for a production deployment. You'll want to use the accusoft/prizmdoc-application-services⁠ and accusoft/prizmdoc-server⁠ Docker images instead. See the Admin Guide⁠ for more information.

⁠Minimum Required Hardware Resources

Before running, you MUST make sure that you've configured Docker to use the following minimum hardware resources:

  • CPUs: 2
  • Memory: 8 GB

If you try to run this image with fewer CPUs or less memory, it may not function correctly.

NOTE: PrizmDoc Viewer highly recommends using a database⁠.

⁠Starting

The best way to start this demo is with the following docker-compose snippet that enables the Apryse Server SDK rendering engine for improved rendering fidelity of Microsoft Office documents:

version: '2.1'
services:
    prizm-demo:
        image: accusoft/prizmdoc-viewer-eval:latest
        environment: 
            ACCEPT_EULA: 'YES'
            LICENSE_SOLUTION_NAME: '${LICENSE_SOLUTION_NAME:-}'
            LICENSE_KEY: '${LICENSE_KEY:-}'
            DATABASE_CONNECTION_STRING: 'mysql://pruser:prpass@prizm-db:3306/prdb'
            PROCESS_MANAGER_URL: 'http://process-manager:3000' # If you are using the AI features
            MS_OFFICE_DOCUMENTS_RENDERER: 'apryse' # This enables the use of the Apryse Server SDK rendering engine
        depends_on:
            prizm-db:
                condition: service_healthy
        ports:
            - '18681:18681'
            - '3000:3000'
            - '8888:8888'
        healthcheck:
            test: ['CMD', '/demo/node_modules/.bin/node', '/demo/testUrl.js','http://localhost:18681/PCCIS/V1/Service/Current/Health']
            start_period: 90s
            interval: 10s
            timeout: 10s
            retries: 30
            
    prizm-db:
        image: mysql:8.4
        environment:
            MYSQL_ROOT_PASSWORD: 'root'
            MYSQL_DATABASE: 'prdb'
            MYSQL_USER: 'pruser'
            MYSQL_PASSWORD: 'prpass'
        ports: 
            - '3306:3306'
        healthcheck:
            test: mysqladmin ping -h 127.0.0.1 -u pruser --password=prpass
            start_period: 5s
            interval: 5s
            timeout: 5s
            retries: 10

NOTE: Examples in this README use MS_OFFICE_DOCUMENTS_RENDERER=apryse for Microsoft Office documents and text files. You can set MS_OFFICE_DOCUMENTS_RENDERER=libreoffice to use the LibreOffice renderer instead. Supported values are auto, libreoffice, msoffice, and apryse.

Copy the docker-compose snippet to a yaml file, then in that same directory run:

docker-compose up
⁠Optional: With capability for AI Features

In order to use the AI features as of v14.4, you will need to run both a Process Manager and AI Hub container. See the Process Manager⁠ and AI Hub⁠ Docker Hub repositories for a more in depth look at deployment.

A license key with AI add-ons is required in addition to the proper IBM watsonx credentials. See the AI Features documentation⁠ for more information.

The best way to add the capability for AI Features is to append the following services to the above docker-compose snippet:

    process-manager:
        image: accusoft/process-manager:latest
        environment:
            ACCEPT_EULA: 'YES'
            DATABASE_CONNECTION_STRING: 'mysql://pruser:prpass@prizm-db:3306/prdb'
            PRIZMDOC_SERVER_URL: 'http://prizm-demo:18681'
        depends_on:
            prizm-demo:
                condition: service_healthy
        ports:
            - '3005:3000'
            - '3006:3001'
        healthcheck:
            test: ['CMD', 'wget', '--spider','http://localhost:3001/readiness']
            start_period: 5s
            interval: 5s
            timeout: 5s
            retries: 10

    ai-hub:
        image: accusoft/ai-hub:latest
        environment:
            ACCEPT_EULA: 'YES'
            PROCESS_MANAGER_INTERNAL_URL: 'http://process-manager:3001'
            WORKFILE_SERVICE_URL: 'http://prizm-demo:18681/PCCIS/V1/WorkFile'
            WATSONX_API_KEY: '${$WATSONX_API_KEY:-}'
            WATSONX_PROJECT_ID: '${$WATSONX_PROJECT_ID:-}'
            WATSONX_API_ENDPOINT: '${$WATSONX_API_ENDPOINT:-}'
            WATSONX_IAM_TOKEN_SERVICE: '${$WATSONX_IAM_TOKEN_SERVICE:-}'
        depends_on:
            process-manager:
                condition: service_healthy
        ports: 
            - '4100:4100'
        restart: on-failure

Copy the docker-compose snippet to a yaml file, then in that same directory run:

docker-compose up
⁠Without docker-compose and with a database

If you do not already have a database for PrizmDoc to connect to, you can use the MySQL docker image⁠ to easily create a database. If both containers are in the same user-defined Docker network⁠, the PrizmDoc container can reference the database container by its name in the connection string.

In order to use the AI features as of v14.4, you will need to run both a Process Manager and AI Hub container. See the Process Manager⁠ and AI Hub⁠ Docker Hub repositories for a more in depth look at deployment.

After your database is set up, pull the latest version of this image:

docker pull accusoft/prizmdoc-viewer-eval:latest

Then, start a running container (replacing the value of DATABASE_CONNECTION_STRING with your own MySQL connection URL):

docker run --rm -p 8888:8888 -p 3000:3000 -p 18681:18681 -e ACCEPT_EULA=YES -e DATABASE_CONNECTION_STRING='mysql://user:[email protected]:3306/database_name' -e MS_OFFICE_DOCUMENTS_RENDERER=apryse --name prizmdoc-viewer-eval accusoft/prizmdoc-viewer-eval:latest
⁠Without docker-compose and without a database

While a database is recommended for PrizmDoc, it will function correctly without one. In order to use the AI features as of v14.4, you will need to run both a Process Manager and AI Hub container and they require a database. See the Process Manager⁠ and AI Hub⁠ Docker Hub repositories for a more in depth look at deployment.

docker pull accusoft/prizmdoc-viewer-eval:latest

Then, start a running container:

docker run --rm -p 8888:8888 -p 3000:3000 -p 18681:18681 -e ACCEPT_EULA=YES -e MS_OFFICE_DOCUMENTS_RENDERER=apryse --name prizmdoc-viewer-eval accusoft/prizmdoc-viewer-eval:latest
⁠Optional: Providing a License Key

The examples above start PrizmDoc Viewer without a license key in a limited evaluation mode. If you would like to do a full-featured evaluation of the product, contact us⁠. If you have a license, you can provide it by setting two extra environment variables, LICENSE_SOLUTION_NAME and LICENSE_KEY.

With docker-compose:

LICENSE_SOLUTION_NAME=YOUR_SOLUTION_NAME LICENSE_KEY=YOUR_LICENSE_KEY docker-compose up

Without docker-compose:

docker run --rm -p 8888:8888 -p 3000:3000 -p 18681:18681 -e ACCEPT_EULA=YES -e LICENSE_SOLUTION_NAME=YOUR_SOLUTION_NAME -e LICENSE_KEY=YOUR_LICENSE_KEY -e DATABASE_CONNECTION_STRING='mysql://user:[email protected]:3306/database_name' -e MS_OFFICE_DOCUMENTS_RENDERER=apryse --name prizmdoc-viewer-eval accusoft/prizmdoc-viewer-eval:latest

Just replace YOUR_SOLUTION_NAME, YOUR_LICENSE_KEY, and (if not using docker-compose) mysql://user:[email protected]:3306/database_name with the actual values.

⁠Wait for the Start-Up Process to Complete

It will take a minute or two for the PrizmDoc Viewer backend to fully start. Eventually, you should see something like this:

============================================================
 PrizmDoc Server is running at:
 http://localhost:18681

 PAS (PrizmDoc Application Services) is running at:
 http://localhost:3000

 Demo application will be started at:
 http://localhost:8888
============================================================

Starting the demo application...

> [email protected] start /demo
> NODE_ENV=production node main.js

Application running at http://localhost:8888

Once you see this, the container is fully up and running.

⁠Using the Demo

After starting, you can view the demo app at http://localhost:8888 and start exploring the viewer and its features with your own documents.

⁠Next Steps

The demo application is great for just trying the viewer, but it does not let you see the code you need to write to integrate the viewer into your own application. To help you understand how to do that, we offer a variety of simple “Hello PrizmDoc Viewer!” sample applications⁠ for various tech stacks (React, Angular, traditional server-side rendered HTML, etc.).

After cloning one of these sample applications⁠, configure it to use the demo PrizmDoc Viewer backend you just started:

  • Set the PAS base URL to "http://localhost:3000"
  • Set the PAS secret key to "mysecretkey"

See the particular sample application README for information about how to configure and run the sample.

Once you have the sample application running, you can start playing with viewer API options to see what’s possible. And, when you’re ready, you can use the sample code as a guide to integrating the viewer into your own web application.

⁠Stopping

To stop the running Docker container, just use Ctrl+C in the same terminal where the container is running.

Alternately, you can stop the container by name: docker stop prizmdoc-viewer-eval

⁠Need Help?

Can't find what you need? Contact us⁠.

Tag summary

Content type

Image

Digest

sha256:91044cbaf…

Size

2.1 GB

Last updated

1 day ago

docker pull accusoft/prizmdoc-viewer-eval