Part of PrizmDoc Viewer: backend tier for document conversion and processing
500K+
PrizmDoc Server is part of the backend of the PrizmDoc Viewer product (learn more about the overall PrizmDoc Viewer architecture and how PrizmDoc Server fits into the picture).
This is the official docker image for PrizmDoc Server and can be used for a production deployment of PrizmDoc Server to a Docker host.
NOTE: This image is designed for customers who are ready for a production deployment. If you just want an easy way to evaluate the product and start using it for local development, we recommend you start with the accusoft/prizmdoc-viewer-eval Docker image instead.
To run PrizmDoc Server as a Docker container, you simply need a Docker host (a machine with Docker installed). See the Docker documentation for more information.
Before running this Docker image, you MUST configure Docker to use the appropriate hardware resources. If you try to run the image with fewer CPUs or less memory, it may not function correctly. For detailed information, please review the guidance provided in our Server Sizing guide.
Run the following command to pull in the latest PrizmDoc server:
docker pull accusoft/prizmdoc-server
Before you can run PrizmDoc server, you'll need a config file (if you already have a config file defined which you want to use, you can skip to step 4). You can create a default config file using this docker image's init-config command. This section explains how to do that.
First, make sure you've created a config directory on your host file
system:
mkdir config
Then, use the init-config command to create a new
prizm-services-config.yml file in your config directory:
docker run --rm -e ACCEPT_EULA=YES --volume $pwd/config:/config accusoft/prizmdoc-server init-config
This will create a new PrizmDoc Server config
file on your Windows host filesystem at .\config\prizm-services-config.yml.
Use the init-config command to create a new prizm-services-config.yml file:
docker run --rm -e ACCEPT_EULA=YES --volume $(pwd)/config:/config accusoft/prizmdoc-server init-config
This will create a new PrizmDoc Server config file on your host filesystem at ./config/prizm-services-config.yml.
See the product documentation for information about configuring PrizmDoc Server. At a minimum, for a production deployment, you will want to at least configure your license.
Assuming you are using the default configuration, this section explains how to start a PrizmDoc Server docker container.
First, create a directory on your host file system to store log files:
mkdir logs
Then, start a prizmdoc-server container like so:
docker run -d --rm --env ACCEPT_EULA=YES --publish 18681:18681 --volume $pwd/config:/config --volume $pwd/logs:/logs --name prizmdoc-server accusoft/prizmdoc-server
Start a prizmdoc-server container like so:
docker run -d --rm --env ACCEPT_EULA=YES --publish 18681:18681 --volume $(pwd)/config:/config --volume $(pwd)/logs:/logs --name prizmdoc-server accusoft/prizmdoc-server
Start a prizmdoc-server container like so:
docker run -d --rm --env ACCEPT_EULA=YES --publish 18681:18681 --volume $(pwd)/config:/config --volume $(pwd)/logs:/logs --volume $(pwd)/data:/data --name prizmdoc-server accusoft/prizmdoc-server
In the examples above:
-d runs the container in the background, in detached mode.--rm ensures the container is automatically deleted when it stops.--env ACCEPT_EULA=YES indicates you have accepted the PrizmDoc Viewer
license
agreement.--publish 18681:18681 publishes the container's network.publicPort
port to the host. If you enable clustering (network.clustering.enabled: true), you will also want to publish the network.clustering.clusterPort
(18682 in a default configuration).--volume $(pwd)/config:/config maps a host config directory into the
container. Your local config directory must contain the
prizm-services-config.yml config file created earlier.--volume $(pwd)/logs:/logs maps a local logs directory into the
container. After the container stops, the logs will remain in this
directory.--volume $(pwd)/data:/data (Linux only) maps a local data
directory into the container. After the container stops, the data will
remain in this directory. Because PrizmDoc Server uses memory-mapped
files when writing to the data directory, and because Docker only
supports memory-mapped file access to a mapped volume on a Linux host,
setting up this particular volume is only supported on a Linux docker
host.--name prizmdoc-server sets the name of the running container.accusoft/prizmdoc-server is the image that should be run.It may take several minutes for PrizmDoc Server to finish starting. But, once
fully started, GET /PCCIS/V1/Service/Current/Health should return HTTP 200,
indicating PrizmDoc Server is healthy (while starting, this request will return
nothing or an error).
Invoke-WebRequest -Uri http://localhost:18681/PCCIS/V1/Service/Current/Health
Should eventually output something like:
StatusCode : 200
StatusDescription : OK
Content : {79, 75}
RawContent : HTTP/1.1 200 OK
X-Server-Chain: 2b95007f011f
X-Server-Response-Time: 0
Connection: keep-alive
Transfer-Encoding: chunked
Date: Thu, 21 Nov 2019 17:01:04 GMT
Headers : {[X-Server-Chain, 2b95007f011f], [X-Server-Response-Time, 0], [Connection, keep-alive], [Transfer-Encoding, chunked]...}
RawContentLength : 2
NOTE: It may take several minutes for PrizmDoc Server to start. You will not get a 200 result until PrizmDoc Server has fully started.
curl -i http://localhost:18681/PCCIS/V1/Service/Current/Health
Should eventually output something like:
HTTP/1.1 200 OK
X-Server-Chain: 69a6d22f90b9
X-Server-Response-Time: 1
Date: Wed, 20 Nov 2019 20:25:31 GMT
Connection: keep-alive
Transfer-Encoding: chunked
OK
NOTE: It may take several minutes for PrizmDoc Server to start. You will not get a 200 result until PrizmDoc Server has fully started.
If you're not getting a 200 response at all, try checking the PrizmDoc Server admin status page in a browser: http://localhost:18681/admin
You can stop your named container with:
docker stop prizmdoc-server
Content type
Image
Digest
sha256:a6b5b3e28…
Size
1.9 GB
Last updated
3 days ago
docker pull accusoft/prizmdoc-server