Für die Verwendung von Puppeteer PDFreactor ist ein separates Runtime-Image notwendig, um die dort benötigten Assets auszuliefern.:
registry.brandbox.host/runtime/
assetpdfreactor:
112.0.
02
Enthaltene Software
Software | Version |
---|---|
PDFreactor | registry.brandbox.host/runtime/pdfreactor: |
12. |
0. |
2 |
Konfiguration für docker-compose
Das Image kann in einer docker-compose.yml
wie folgt eingebunden werden:
Codeblock | ||
---|---|---|
| ||
pdfreactor: ports: - "9423" image: registry.brandbox.host/runtime/pdfreactor:1112.60.92 environment: JAVA_OPTIONS: "-Xmx2g -Dcom.realobjects.pdfreactor.webservice.threadPoolSize=4" networks: internal: aliases: - pdfreactor.${COMPOSE_PROJECT_NAME}.local.brandbox.de volumes: - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/temp:/srv/brandbox/temp/ - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/share:/srv/brandbox/share/ - ./www/plugin/remote/brandbox/component-pdfreactor/resources/configconfig/pdfreactor:/ro/config |
Folgende Umgebungsvariablen müssen gesetzt werden (brandbox.docker.env
):
Umgebungsvariable | Wert |
---|---|
PDFREACTOR_HOST | pdfreactor.$COMPOSE_PROJECT_NAME.local.brandbox.de (wie in docker-compose.yml definiert) |
PDFREACTOR_PORT | 9423 |
brandbox.docker.env
Codeblock | ||||
---|---|---|---|---|
| ||||
PDFREACTOR_HOST=pdfreactor.{COMPOSE_PROJECT_NAME}.brandbox.de (wie in docker-compose.yml definiert) PDFREACTOR_PORT=9423 |
Zusätzliche Konfiguration über Bind-Mount
Konfigurationsdateien müssen per Bind-Mount in den Container gemountet werden. Dazu muss der Ordner ./config/pdfreactor
parallel zu docker-compose.yml
vor dem Ausführen von up
angelegt werden.
Der Ordner muss die folgende Datei enthalten:
pdfreactorwebservice.config
Codeblock |
---|
securitySettings.defaults.allowFileSystemAccess=true
securitySettings.defaults.allowSameBasePath=true
securitySettings.hideVersionInfo=true |
Die Datei enthält Sicherheitseinstellungen, die für den Betrieb von PDFreactor notwendig sind.
Cluster-Konfiguration (Kubernetes)
Die Konfiguration im Kubernetes-Cluster wird über den brandbox-HelmChart geregelt. Dieser deployed folgende Ressourcen:
Deployment
Einstellung | Wert |
---|---|
Image | registry.brandbox.host/runtime/pdfreactor:11.6.9 |
ImagePullSecret | Das Registry-Secret für registry.brandbox.host/runtime |
Volumes | Das für Application konfigurierte Volume mit folgenden Mountpoints: |
Labels | purpose: deployment-#NAMESPACE#-pdfreactor #NAMESPACE# = Kubernetes-Namespace |
#PROJECT# = Rancher-Projekt
Umgebungsvariablen | JAVA_OPTIONS: "-Xmx2g -Dcom.realobjects.pdfreactor.webservice.threadPoolSize=4" |
Auf dem Volume muss im Ordner /ro/config
eine Konfigurationsdatei pdfreactorwebservice.config
mit folgendem Inhalt angelegt werden:
pdfreactorwebservice.config
Codeblock | ||||
---|---|---|---|---|
| ||||
securitySettings.defaults.allowFileSystemAccess=true securitySettings.defaults.allowSameBasePath=true securitySettings.hideVersionInfo=true |
Application-Container
Folgende Umgebungsvariablen müssen für den Application-Container gesetzt sein:
Name | Wert |
---|---|
PDFREACTOR_HOST | service-pdfreactor |
PDFREACTOR_PORT | 9423 |
Service
Einstellung | Wert |
---|---|
Name | service-pdfreactor |
Selektor | purpose: deployment-#NAMESPACE#-pdfreactor (s.o.) |
Port-Mapping | Der TCP-Port 9423 muss nach außen geöffnet werden |
Labels | run: service-pdfreactor |
Weitere Konfigurationshinweise
PHP-Konfiguration
Der PDFreactor-Webservice nutzt Socker-Verbindungen über PHP. Hier greift die PHP-Einstellung default_socket_timeout.
Diese Einstellungen ist in component-pdfreactor ab Version 11.3.0.9 auf 600 Sekunden gesetzt. Wird diese Komponente nicht genutzt, muss die Einstellungen via ini_set in der verwendeten Client-Implementierung gesetzt werden, falls es Probleme mit der Verarbeitung größerer HTML-Dokumente gibt.
Speicherbedarf
Bei Verwendung von PDF-Dateien mit vielen / großen Bildern benötigt PDFreactor u.U. mehr als die standardmäßig zugewiesenen 2G RAM.
...