Self-host GroupDocs.Viewer Cloud with Docker

Docker is an open platform that effectively solves three main tasks development, deployment, and running the applications. With Docker, you can isolate your applications from the infrastructure that simplifies software development and delivery. The main building blocs are images and containers. The image includes everything you need to run the application: code or binaries, runtime dependencies, file system. The container is an isolated process with additional features that you can interact with. The use of containers to deploy applications is called containerization.

Docker Hub is a repository or library of the container images where you can share and find images.

Self-hosting

The GroupDocs.Viewer Cloud Container Image available at https://hub.docker.com/r/groupdocs/viewer-cloud and enables users to self-host GroupDocs.Viewer Cloud.

To run the GroupDocs.Viewer Cloud in Docker the Docker itself should be installed on your machine.

Install Docker

Check Get Started section for Docker installation for your platform. After you installed and started Docker on your local machine we can run the container.

Run Container

Before running the container you can create two optional folders with files to process and custom fonts that we’ll be mounted and available to GroupDocs.Viewer Cloud service when we start the container.

To run GroupDocs.Viewer Cloud in Docker type one of the following commands:


docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    -e "LICENSE_PUBLIC_KEY#public_key" `
    -e "LICENSE_PRIVATE_KEY#private_key" `
    --name viewer_cloud `
    groupdocs/viewer-cloud


docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    -e LICENSE_PUBLIC_KEY#public_key \
    -e LICENSE_PRIVATE_KEY#private_key \
    --name viewer_cloud \
    groupdocs/viewer-cloud

The Docker would download GroupDocs.Viewer Cloud image from Docker Hub and start a container. While downloading the image the output similar to shown on screenshot would be printed to the console:

Docker image downloading process

After the container is started you’ll see the following messages that indicate that GroupDocs.Viewer Cloud service up and running.

Docker container started

Now you can work with GroupDocs.Viewer Cloud which is hosted on your machine.

Health-check

When the container and GroupDocs.Viewer Cloud started you can check service status by calling GET http://localhost:8080/. The successful response status (200) will indicate that the service is up and running.

Invoke-WebRequest -Uri http://localhost:8080/
curl -i http://localhost:8080/

At the following screenshot, I’m calling http://localhost:8080/ in a separate Powershell window and response indicates that service is alive:

Health check

Using UI

After starting, you can use Swagger UI at http://localhost:8080/swagger/ and explore the API. With Swagger UI you can call API methods in your browser.

Swagger UI

Using SDK

We generate our SDKs in different languages so you may check if yours is available at GitHub. SDKs require authentication, so predefined CLIENT_ID/CLIENT_SECRET parameters must be set.

docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    -e "LICENSE_PUBLIC_KEY#public_key" `
    -e "LICENSE_PRIVATE_KEY#private_key" `
    -e "client_id=client_id" `
    -e "client_secret=client_secret" `
    --name viewer_cloud `
    groupdocs/viewer-cloud
docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    -e LICENSE_PUBLIC_KEY#public_key \
    -e LICENSE_PRIVATE_KEY#private_key \
    -e client_id=client_id \
    -e client_secret=client_secret \
    --name viewer_cloud \
    groupdocs/viewer-cloud

Stop Container

To stop the running Docker container, just use Ctrl+C in the same terminal where the container is running. Alternatively, you can stop the container by name.

docker stop viewer_cloud

Licensing

GroupDocs.Viewer Cloud can be started in trial and licensed modes. When GroupDocs.Viewer Cloud is working in trial mode the following limitations are applied:

  • You can convert only two first pages of the document
  • Evaluation watermarks added to the output

You can find more information about evaluation at Evaluate GroupDocs.Viewer.