I have now running latest xwiki under Synology with docker / Portainer all latest version.
After install, PDF Export and test Sandbox under my Firefox or Edge Browser have the same result.
cat log.xml
<org.xwiki.logging.event.BeginLogEvent>
<marker class="org.xwiki.logging.marker.BeginTranslationMarker">
<name>job.log.beginWithId</name>
<references class="linked-hash-set">
<org.slf4j.helpers.BasicMarker>
<name>xwiki.begin</name>
<referenceList class="java.util.concurrent.CopyOnWriteArrayList" serialization="custom">
<java.util.concurrent.CopyOnWriteArrayList>
<default/>
<int>0</int>
</java.util.concurrent.CopyOnWriteArrayList>
</referenceList>
</org.slf4j.helpers.BasicMarker>
</references>
<translationKey>job.log.beginWithId</translationKey>
</marker>
<message>Starting job of type [{}] with identifier [{}]</message>
<argumentArray>
<string>export/pdf</string>
<java.util.Arrays_-ArrayList>
<a class="string-array">
<string>export</string>
<string>pdf</string>
<string>1660823894947-647</string>
</a>
</java.util.Arrays_-ArrayList>
</argumentArray>
<level>INFO</level>
<timeStamp>1660823894960</timeStamp>
</org.xwiki.logging.event.BeginLogEvent>
<org.xwiki.logging.event.LogEvent>
<level>ERROR</level>
<timeStamp>1660823895396</timeStamp>
<message>Exception thrown during job execution</message>
<marker class="org.xwiki.logging.marker.TranslationMarker">
<name>xwiki.translation</name>
<translationKey>job.log.exception</translationKey>
</marker>
<throwable class="java.lang.RuntimeException">
<detailMessage>Failed to get [role = [org.xwiki.export.pdf.PDFPrinter<java.net.URL>] hint = [docker]]</detailMessage>
<cause class="org.xwiki.component.manager.ComponentLookupException">
<detailMessage>Failed to lookup component [org.xwiki.export.pdf.internal.docker.DockerPDFPrinter] identified by type [org.xwiki.export.pdf.PDFPrinter<java.net.URL>] and hint [docker]</detailMessage>
<cause class="org.xwiki.component.phase.InitializationException">
<detailMessage>Failed to initialize the Docker container for the PDF export.</detailMessage>
<cause class="java.lang.RuntimeException">
<detailMessage>java.io.IOException: com.sun.jna.LastErrorException: [2] No such file or directory</detailMessage>
<cause class="java.io.IOException">
<detailMessage>com.sun.jna.LastErrorException: [2] No such file or directory</detailMessage>
<cause class="com.sun.jna.LastErrorException">
<detailMessage>[2] No such file or directory</detailMessage>
<stackTrace>
<trace>com.github.dockerjava.transport.LinuxDomainSocket.connect(Native Method)</trace>
<trace>com.github.dockerjava.transport.LinuxDomainSocket.connect(LinuxDomainSocket.java:49)</trace>
<trace>com.github.dockerjava.transport.DomainSocket.open(DomainSocket.java:69)</trace>
<trace>com.github.dockerjava.transport.DomainSocket.<init>(DomainSocket.java:59)</trace>
<trace>com.github.dockerjava.transport.LinuxDomainSocket.<init>(LinuxDomainSocket.java:41)</trace>
<trace>com.github.dockerjava.transport.DomainSocket.get(DomainSocket.java:140)</trace>
<trace>com.github.dockerjava.transport.UnixSocket.get(UnixSocket.java:29)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl$2.createSocket(ApacheDockerHttpClientImpl.java:153)</trace>
<trace>org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:125)</trace>
<trace>org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:396)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:158)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:168)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:136)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:175)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:133)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:115)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)</trace>
<trace>org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:67)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl.execute(ApacheDockerHttpClientImpl.java:191)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClient.execute(ApacheDockerHttpClient.java:9)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:228)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:44)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:15)</trace>
<trace>com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)</trace>
<trace>com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.exec(ContainerManager.java:303)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.maybeReuseContainerByName(ContainerManager.java:95)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initializeChromeDockerContainer(DockerPDFPrinter.java:104)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initialize(DockerPDFPrinter.java:91)</trace>
<trace>org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)</trace>
<trace>org.xwiki.component.embed.GenericProvider.getInstance(GenericProvider.java:111)</trace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:100)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
<stackTrace>
<trace>com.github.dockerjava.transport.DomainSocket.<init>(DomainSocket.java:63)</trace>
<trace>com.github.dockerjava.transport.LinuxDomainSocket.<init>(LinuxDomainSocket.java:41)</trace>
<trace>com.github.dockerjava.transport.DomainSocket.get(DomainSocket.java:140)</trace>
<trace>com.github.dockerjava.transport.UnixSocket.get(UnixSocket.java:29)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl$2.createSocket(ApacheDockerHttpClientImpl.java:153)</trace>
<trace>org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:125)</trace>
<trace>org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:396)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:158)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:168)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:136)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:175)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:133)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)</trace>
<trace>org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:115)</trace>
<trace>org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)</trace>
<trace>org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)</trace>
<trace>org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:67)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl.execute(ApacheDockerHttpClientImpl.java:191)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClient.execute(ApacheDockerHttpClient.java:9)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:228)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:44)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:15)</trace>
<trace>com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)</trace>
<trace>com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.exec(ContainerManager.java:303)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.maybeReuseContainerByName(ContainerManager.java:95)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initializeChromeDockerContainer(DockerPDFPrinter.java:104)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initialize(DockerPDFPrinter.java:91)</trace>
<trace>org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)</trace>
<trace>org.xwiki.component.embed.GenericProvider.getInstance(GenericProvider.java:111)</trace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:100)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
<stackTrace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl.execute(ApacheDockerHttpClientImpl.java:195)</trace>
<trace>com.github.dockerjava.httpclient5.ApacheDockerHttpClient.execute(ApacheDockerHttpClient.java:9)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:228)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)</trace>
<trace>com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:44)</trace>
<trace>com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:15)</trace>
<trace>com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)</trace>
<trace>com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.exec(ContainerManager.java:303)</trace>
<trace>org.xwiki.export.pdf.internal.docker.ContainerManager.maybeReuseContainerByName(ContainerManager.java:95)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initializeChromeDockerContainer(DockerPDFPrinter.java:104)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initialize(DockerPDFPrinter.java:91)</trace>
<trace>org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)</trace>
<trace>org.xwiki.component.embed.GenericProvider.getInstance(GenericProvider.java:111)</trace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:100)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
<stackTrace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initializeChromeDockerContainer(DockerPDFPrinter.java:128)</trace>
<trace>org.xwiki.export.pdf.internal.docker.DockerPDFPrinter.initialize(DockerPDFPrinter.java:91)</trace>
<trace>org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)</trace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)</trace>
<trace>org.xwiki.component.embed.GenericProvider.getInstance(GenericProvider.java:111)</trace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:100)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
<stackTrace>
<trace>org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:204)</trace>
<trace>org.xwiki.component.embed.GenericProvider.getInstance(GenericProvider.java:111)</trace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:100)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
<stackTrace>
<trace>org.xwiki.component.embed.GenericProvider.get(GenericProvider.java:103)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.saveAsPDF(PDFExportJob.java:162)</trace>
<trace>org.xwiki.export.pdf.internal.job.PDFExportJob.runInternal(PDFExportJob.java:115)</trace>
<trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:243)</trace>
<trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:220)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
<trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
<trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</throwable>
</org.xwiki.logging.event.LogEvent>
<org.xwiki.logging.event.EndLogEvent>
<marker class="org.xwiki.logging.marker.EndTranslationMarker">
<name>job.log.endWithId</name>
<references class="linked-hash-set">
<org.slf4j.helpers.BasicMarker>
<name>xwiki.end</name>
<referenceList class="java.util.concurrent.CopyOnWriteArrayList" serialization="custom">
<java.util.concurrent.CopyOnWriteArrayList>
<default/>
<int>0</int>
</java.util.concurrent.CopyOnWriteArrayList>
</referenceList>
</org.slf4j.helpers.BasicMarker>
</references>
<translationKey>job.log.endWithId</translationKey>
</marker>
<message>Finished job of type [{}] with identifier [{}]</message>
<argumentArray>
<string>export/pdf</string>
<java.util.Arrays_-ArrayList>
<a class="string-array">
<string>export</string>
<string>pdf</string>
<string>1660823894947-647</string>
</a>
</java.util.Arrays_-ArrayList>
</argumentArray>
<level>INFO</level>
<timeStamp>1660823895402</timeStamp>
</org.xwiki.logging.event.EndLogEvent>
Is there anything else what I need to install as xwiki under Docker with portainer and PDF Export application?
I don’t understand what you it meens “chrome docker Container” ist that something what I need to install too?
Many thanks