Rendering Service Installation on Linux
Introduction
Target Audience: System Administrators
This guide covers the base installation of the Rendering Service on Linux (Ubuntu 24.04.2 LTS or compatible distributions). After completing this guide, you will have the Rendering Service installed but unconfigured. You will then choose and configure your rendering-server in the Integration section.
Prerequisites
- Ubuntu 24.04.2 LTS (or compatible Linux distribution)
- Java 21 or later installed (verify with
java -version) - Internet connection
- sudo/root access
Installation Steps
1. Create Directory Structure
Create a dedicated directory for the Rendering Service if it doesn't exist:
sudo mkdir -p /opt/pubserver/rendering-service
2. Download Rendering Service JAR
Get the latest rendering-service jar file here.
Unzip the downloaded zipped jar file into your rendering-service application directory (e.g., /opt/pubserver/rendering-service).
3. Verify Java Installation
Verify that Java 21 or later is installed:
java -version
You should see output indicating Java 21 or a newer version. If Java is not installed, install it using your distribution's package manager (e.g., apt install openjdk-21-jdk for Ubuntu).
4. Configuration
Choose your rendering-server and continue with configuration:
Rendering Server Options
-
Embedded PDF Renderer Configuration
- Best for: PDF-only rendering, simpler deployments
- Platform: Windows and Linux
- Setup requirements: Java 21, Python 3.12, native libraries, configuration files
-
Containerized PDF Renderer Configuration
- Best for: Scalable deployments, cloud environments, cloud-native architectures
- Platform: Windows with Docker, Linux (primary)
- Setup requirements: Docker Desktop, configuration files
-
- Best for: Complex layouts requiring InDesign features, professional publishing workflows
- Platform: Windows / MacOS only (Adobe InDesign Server requirement)
- Setup requirements: Adobe InDesign Server installation, configuration files
5. Optional: Create systemd Service
If you want to run your Rendering Service automatically as a system service:
- Create a new Shell Script, for example
/opt/pubserver/rendering-service/rendering_service.sh
#!/bin/bash
java -Dspring.config.additional-location=file:<your-application-config>.yml \
-Dworkers.config=<your-workers-config>.json \
-jar rendering-service.jar
Replace <your-application-config> and <your-workers-config> with the actual file names you created during configuration or use placeholders for now.
- Create file rendering-service.service in
/etc/systemd/system:
sudo nano /etc/systemd/system/rendering-service.service
- Add the following content:
[Unit]
Description=Rendering service
[Service]
WorkingDirectory=/opt/pubserver/rendering-service
ExecStart=/opt/pubserver/rendering-service/rendering_service.sh
Restart=always
[Install]
WantedBy=multi-user.target
You should run your rendering-service as the same user that runs the PubServer.
You don't need to run as root! Consider using the User=... config in your [Service] configuration.
- Reload the service files to include the new service:
sudo systemctl daemon-reload
- Start your service:
sudo systemctl start rendering-service.service
- Check the status of your service:
sudo systemctl status rendering-service.service
- Enable your service to start on every reboot:
sudo systemctl enable rendering-service.service
- To disable your service from starting on reboot:
sudo systemctl disable rendering-service.service
- To see all running services:
sudo systemctl --type=service
Validation and Monitoring
After completing the configuration for your chosen rendering server, start the Rendering Service. To find out more about how to monitor the rendering service and validate the output, please check the dedicated documentation..
Additional Resources
- Rendering Service Overview - Understand the architecture and capabilities
- Rendering Service Updates - Updating to newer versions