softvisiondev/webpdf
webPDF is the centralized PDF server which provides SOAP and REST Web services and a Web portal.
50K+
$ docker run --name webpdf softvisiondev/webpdf:latest
$ curl -sSL https://raw.githubusercontent.com/softvision-dev/webpdf-docker/master/10.0/docker-compose.yml > docker-compose.yml
$ docker-compose up -d
Dockerfile
linksWhere to get help:
the Docker Community Forums, the Docker Community Slack, or Stack Overflow
Where to file issues:
https://github.com/softvision-dev/webpdf-docker/issues
Maintained by:
the webPDF Docker Maintainers
Supported Docker versions:
the latest release
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.
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]
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.
docker run -p 8080:8080 softvisiondev/webpdf:latest
...where -p
maps the containers port 8080 to the hosts port 8080.
Based on the used -p
parameter, you can access the webPDF portal by launching a web browser and go to
http://localhost:8080/webPDF/
.
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
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.
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
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.
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.
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.
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.
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.
Please, see the license file for more information.
docker pull softvisiondev/webpdf