Sign inSign up

groupdocs/annotation-cloud

By groupdocs

Updated 3 months ago

Annotate documents and images using REST APIs or Cloud SDKs for .NET, Java, PHP, Python & Ruby.

Image
1

718

groupdocs/annotation-cloud repository overview

Document Annotation Solution in the Cloud

Nuget Nuget GitHub

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial

Document Annotation solution for programmers and professionals to annotate and display widely used file formats including Word documents, Excel spreadsheets, PowerPoint presentations, Adobe's PDF, images & more. This Docker image makes it possible to use GroupDocs.Annotation Cloud API on a single machine or integrate into your existing application or system solution.

Quick Start

GroupDocs.Annotation can be started in trial or licensed mode. Optionally, you can enable authentication by setting predefined credentials.

Start in Trial Mode

Type the following to start the container and run GroupDocs.Annotation Cloud in trial mode.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/data:/data" `
    --name annotation_cloud `
    groupdocs/annotation-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/data:/data \
    --name annotation_cloud \
    groupdocs/annotation-cloud

Wait for the startup process to complete, then you should see the following log.

info: GroupDocs.Annotation.Cloud.Web.Startup[0]
      "License" parameters are omitted, the app works in trial mode.
...

Above messages suggest that GroupDocs.Annotation Cloud is working in a trial mode so trial limitations are applied:

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

Note: You can find more information about licensing and request a temporary license at https://purchase.groupdocs.cloud/trial

Start in Licensed Mode

Run GroupDocs.Annotation Cloud in licensed mode if you already have the application information. Just pass license private and public keys as environment variables as shown below.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/data:/data" `
    -e "LICENSE_PUBLIC_KEY=public_key" `
    -e "LICENSE_PRIVATE_KEY=private_key" `
    --name annotation_cloud `
    groupdocs/annotation-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/data:/data \
    -e LICENSE_PUBLIC_KEY=public_key \
    -e LICENSE_PRIVATE_KEY=private_key \
    --name annotation_cloud \
    groupdocs/annotation-cloud

After the container is started you should see the message that indicates that license has been set successfully:

info: GroupDocs.Annotation.Cloud.Web.Startup[0]
      The license has been set.
...
Enable Authentication

To enable authentication set CLIENT_ID/CLIENT_SECRET parameters as shown below. Please note, authentication is required in case you're going to use any of the SDKs.

The TOKEN_SECRET is used as the symmetric key for signing JWT tokens with the HMAC-SHA256 algorithm. • If the TOKEN_SECRET environment variable is set, its value will be used as the signing key. • If the TOKEN_SECRET is not set, the application will generate a random 256-bit secret at runtime. This random secret is not persisted and will change every time the application restarts.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/data:/data" `
    -e "CLIENT_ID=client_id" `
    -e "CLIENT_SECRET=client_secret" `
    -e "TOKEN_SECRET=aifvtf67769fydrdjh089y86f7cfnr6e5ev856db7ii8t787rtb6r689f07t897tk907tn8f6b68d987yh0u" `    
    --name annotation_cloud `
    groupdocs/annotation-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/data:/data \
    -e CLIENT_ID=client_id \
    -e CLIENT_SECRET=client_secret \
    -e TOKEN_SECRET=aifvtf67769fydrdjh089y86f7cfnr6e5ev856db7ii8t787rtb6r689f07t897tk907tn8f6b68d987yh0u \    
    --name annotation_cloud \
    groupdocs/annotation-cloud
Enable Google Cloud Storage

By default, a local storage used inside container for file operations. It's possible to connect a Google Cloud storage by setting GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_STORAGE_BUCKET environment variables.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/data:/data" `
    -e "GOOGLE_APPLICATION_CREDENTIALS=/data/key.json" `
    -e "GOOGLE_STORAGE_BUCKET=bucket_id" `
    --name annotation_cloud `
    groupdocs/annotation-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/data:/data \
    -e GOOGLE_APPLICATION_CREDENTIALS=/data/key.json \
    -e GOOGLE_STORAGE_BUCKET=bucket_id \
    --name annotation_cloud \
    groupdocs/annotation-cloud
Enable AWS S3 Cloud Storage

By default, a local storage used inside container for file operations. It's possible to connect a AWS S3 Cloud storage by setting environment variables:

NameDescription
S3_STORAGE_BUCKETBucket ID
S3_STORAGE_ACCESS_KEYS3 API Access Key
S3_STORAGE_SECRET_KEYS3 API Secret Key
S3_STORAGE_REGIONAWS S3 Region
Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/data:/data" `
    -e "S3_STORAGE_BUCKET=main_bucket" `
    -e "S3_STORAGE_ACCESS_KEY=XXXXXXXXXXXXXXXXXXX" `
    -e "S3_STORAGE_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `
    -e "S3_STORAGE_REGION=us-west-2" `
    --name annotation_cloud `
    groupdocs/annotation-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/data:/data \
    -e S3_STORAGE_BUCKET=main_bucket \
    -e S3_STORAGE_ACCESS_KEY=XXXXXXXXXXXXXXXXXXX \
    -e S3_STORAGE_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
    -e S3_STORAGE_REGION=us-west-2" \
    --name annotation_cloud \
    groupdocs/annotation-cloud
Health Check

When the container and GroupDocs.Annotation Cloud gets started you can check service status by calling GET http://localhost:8080/. The successful response status is 200 which means that service is up and running.

Windows (PowerShell)
Invoke-WebRequest -Uri http://localhost:8080/
Linux (bash)
curl -i http://localhost:8080/
Using the UI

After starting, you can use Swagger UI at http://localhost:8080/swagger/ and start exploring the API.

Stopping

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 as shown below.

docker stop annotation_cloud

Container Configurations

Volumes
Mount path in containerDescription
/dataFolder with documents to process
Parameters
NameDescription
LICENSE_PUBLIC_KEYPublic key of the license
LICENSE_PRIVATE_KEYPrivate key of the license
CLIENT_IDPredefined client ID (requied when using SDK)
CLIENT_SECRETPredefined client secret key (requied when using SDK)
TOKEN_SECRETThe symmetric key for signing JWT tokens
GOOGLE_APPLICATION_CREDENTIALSPath to json file containing Google Cloud Storage Credentials (can be obtained in Google Cloud Console)
GOOGLE_STORAGE_BUCKETName of Google Cloud Storage bucket, where files should be stored
S3_STORAGE_BUCKETAWS S3 Bucket ID
S3_STORAGE_ACCESS_KEYAWS S3 API Access Key
S3_STORAGE_SECRET_KEYAWS S3 API Secret Key
S3_STORAGE_REGIONAWS S3 Region

Things to Remember

  • If "License" parameters are omitted, the app will work in trial mode.
  • If "CLIENT_ID" parameter is set, each request requires "Authorization" header (JWT Authentication).
  • The URL to obtain token is "/connect/token".
  • if Google Storage parameters are set, then Google Cloud Storage used for file operations, otherwise, a local folder used

Next Steps

We generate our SDKs in different languages so you may check if yours is available in the following list. If you don't find your language, feel free to request for it on our Support Forum, or use raw REST API requests as detailed on GroupDocs.Annotation Cloud for cURL.

The SDKs are compatible with this image, just use your own base URL and client_id/client_secret, you've configured. Furthermore, the SDKs require authentication, so client_id/client_secret must be set before use.

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial if Google Storage parameters are set, then Google Cloud Storage used for file operations, otherwise, a local folder used

Tag summary

Content type

Image

Digest

sha256:1dd1e5408

Size

257.5 MB

Last updated

3 months ago

docker pull groupdocs/annotation-cloud