softvisiondev/webpdf

By softvisiondev

Updated 28 days ago

webPDF is the centralized PDF server which provides SOAP and REST Web services and a Web portal.

Image
Integration & Delivery
Developer Tools

50K+

webPDF - the PDF powerhouse

TL;DR

$ docker run --name webpdf softvisiondev/webpdf:latest
Docker Compose
$ curl -sSL https://raw.githubusercontent.com/softvision-dev/webpdf-docker/master/10.0/docker-compose.yml > docker-compose.yml
$ docker-compose up -d

Supported tags and respective Dockerfile links

Quick reference

What is webPDF?

webPDF is the centralized multi-platform PDF server solution which provides SOAP and REST Web services and a Web portal. webPDF allows the creation and manipulation of PDF documents including operations like digital signing, OCR and PDF/A conversion.

logo

Overview of webPDF

Get this image

The recommended way to get the webPDF Docker Image is to pull the prebuilt image from the Docker Hub Registry.

$ docker pull softvisiondev/webpdf:latest

To use a specific version, you can pull a versioned tag. You can view the list of available versions in the Docker Hub Registry.

$ docker pull softvisiondev/webpdf:[TAG]

How to use this image

Starting webPDF

Starting a webPDF instance is simple:

docker run --name webpdf softvisiondev/webpdf:[tag]

... where webpdf is the name you want to assign to your container and [tag] is the tag specifying the webPDF version you want. See the list above for relevant tags.

Exposing external port

docker run -p 8080:8080 softvisiondev/webpdf:latest

...where -p maps the containers port 8080 to the hosts port 8080.

Accessing webPDF

Based on the used -p parameter, you can access the webPDF portal by launching a web browser and go to http://localhost:8080/webPDF/.

Configure volumes

Start webPDF with attached configuration volume to keep your settings after updates.

docker run -v webpdf-config:/opt/webpdf/conf softvisiondev/webpdf:latest

...where -v creates and attaches the volume named webpdf-config to the /opt/webpdf/conf path, where webPDF stores its configurations.

You can also keep the logs and the keystore files if you mount volumes for the folders /opt/webpdf/logs and /opt/webpdf/keystore.

docker run -v webpdf-config:/opt/webpdf/conf -v webpdf-logs:/opt/webpdf/logs -v webpdf-keystore:/opt/webpdf/keystore softvisiondev/webpdf:latest

Fonts

The webPDF container has already installed a (small) list of fonts from various Linux packages (see Dockerfile). To add additional fonts, especially customized fonts, mount a volume for /home/webpdf/.fonts. The webPDF server uses fonts from the user's home folder webpdf.

docker run -v webpdf-fonts:/home/webpdf/.fonts softvisiondev/webpdf:latest

The font folders used are displayed when the server is started and can be viewed via the console or the log files.

Environment variables

When you start the webpdf image, you can adjust the configuration of the webPDF instance by passing one or more environment variables on the docker run command line.

JAVA_PARAMETERS

Allows passing Java VM options to the webPDF server startup (e.g. set memory limits: -Xmx2048m -Xms1024m)

LANG, LANGUAGE, LC_ALL

Linux environment variables for the language and encoding used in the image and for the webPDF server (e.g. de_DE.UTF-8)

TZ

Linux environment variable for the used time tone in the image and for the webPDF server (e.g. Europe/Berlin)

You can pass the value of variables with the -e option in the command line:

$ docker run --name webpdf -e TZ=Europe/Berlin softvisiondev/webpdf:latest

Shared memory

The webPDF server requires shared memory allocated to the container. You can configure the shared memory of the container with the --shm_size parameter or use shm_size in the docker-compose.yml file.

$ docker run --name webpdf --shm-size=2gb softvisiondev/webpdf:latest

A shared memory of at least 2 GB is recommended.

Non-root container

The webPDF container runs under the non-privileged (non-root) user webpdf. Non-root container images add an extra layer of security and are generally recommended for production environments. However, because they run as a non-root user, privileged tasks such as installing system packages, editing configuration files, creating system users and groups, and modifying network information, are typically off-limits.

Logging

The webPDF image sends the container logs to the stdout. To view the logs:

$ docker logs webpdf

or using Docker Compose:

$ docker-compose logs webpdf

You can configure the containers logging driver using the --log-driver option if you wish to consume the container logs differently. In the default configuration docker uses the json-file driver.

Build arguments

If you build the webPDF container with the Dockerfile, you can customize the build process with the following arguments.

LOCAL_PACKAGE

If this option is set to true, the Linux package is not fetched from the official package repository, but the local file ./packages/webpdf.deb is used for the build process.

Development and support

If you have any questions on how to use webPDF or this image, or have ideas for future development, please get in touch via our product homepage.

If you find any issues, please visit our Github Repository and write an issue.

License

Please, see the license file for more information.

Docker Pull Command

docker pull softvisiondev/webpdf