Git Product home page Git Product logo

docker-image-jodconverter-examples's Introduction

build-and-push

Hint: This project has moved from eugenmayer/docker-image-jodconverter to jodconverter/docker-image-jodconverter-examples since it is just the better home for obvious reasons :)

Wat

Utilizes the example java projects of JODconverter to offer running examples within docker, e.g. to run JODconverter as a REST conversion GUI.

Other projects: - The examples here are based on the jodconverter-runtime docker image - office conversion, production leaning - see eugenmayer/officeconverter.

Run examples

That's the variant with a web-GUI (see screenshot)

docker run --memory 512m --rm -p 8080:8080 ghcr.io/jodconverter/jodconverter-examples:gui

Now you can connect to http://localhost:8080 with a nice web-ui for conversion

Screenshot

Or you pick the variant a REST interface only

docker run --memory 512m  --rm -p 8080:8080 ghcr.io/jodconverter/jodconverter-examples:rest

Screenshot

For more please check the wiki at https://github.com/jodconverter/jodconverter

Docker images

  • ghcr.io/jodconverter/jodconverter-rutime - OpenJDK 17: libreoffice included, also start scripts but now actual applications
  • ghcr.io/jodconverter/jodconverter-examples:gui - OpenJDK 17: the WebGUI, spring based converter
  • ghcr.io/jodconverter/jodconverter-examples:rest - OpenJDK 17: rest only variant

Configuration

You can configure the docker images by mounting /etc/app/application.properties and put whatever you like into them.

For example if you like to have 2 LibreOffice instances, you would put into the file

# amount of libreOffice instances to start - one for each given port. So this means 2
jodconverter.local.port-numbers: 2002, 2003
# change the tmp folder
jodconverter.local.working-dir: /tmp
# change upload sizes
spring.servlet.multipart.max-file-size: 5MB
spring.servlet.multipart.max-request-size: 5MB
# change the server port (where the REST app is listenting
server.port=8090

Build youerself

make build
make start-gui
# or
make start-rest

now see above under "Run" how to access it

Credits

All of those please forward to sbraconnier's jodconverter - he does the real work :)

docker-image-jodconverter-examples's People

Contributors

alangecker avatar alwinegger avatar eugenmayer avatar wussup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-image-jodconverter-examples's Issues

Whitelabel Error Page

I tried the Rest (ghcr.io/jodconverter/jodconverter-examples:rest) Version in a kubernetes Cluster (Node Version: v1.26.1) and got the following Error Messages:

java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x010x000x010x000x000xfc0x030x030xe030x1dm0x180xe60xe2Z0xd90xee0xe20xf80xc10x0e0xcf0x17uX&c0xa7kK0x1fb0x98\a0xea0xf50xf90xc0 ]. HTTP method names must be tokens
	at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:419) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:272) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

2023-06-27T11:36:18.846Z  INFO 1 --- [nio-8080-exec-4] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Request header is too large
	at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:790) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:454) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:272) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

2023-06-27T11:36:19.132Z  INFO 1 --- [nio-8080-exec-5] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in the request target [/%3Ca%20href=%22/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo" ]. The valid characters are defined in RFC 7230 and RFC 3986
	at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:494) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:272) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.5.jar!/:na]
	at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

The GUI Version is working fine.

Executing make start-rest won't start

Hi,

I am doing some tests with the converter, and I tried to build the application with make build and everything seems to be created properly, but after trying start-rest I will have one exception, and it won't start... here are the logs:


2022-11-09 13:28:34.054  INFO 1 --- [           main] o.j.s.rest.SpringBootRestApplication     : Starting SpringBootRestApplication using Java 17.0.5 on 746be76420ad with PID 1 (/opt/app/app.war started by jodconverter in /)
2022-11-09 13:28:34.079 DEBUG 1 --- [           main] o.j.s.rest.SpringBootRestApplication     : Running with Spring Boot v2.7.3, Spring v5.3.22
2022-11-09 13:28:34.081  INFO 1 --- [           main] o.j.s.rest.SpringBootRestApplication     : No active profile set, falling back to 1 default profile: "default"
2022-11-09 13:28:37.324  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-11-09 13:28:37.348  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-11-09 13:28:37.349  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.65]
2022-11-09 13:28:39.451  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-11-09 13:28:39.452  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5174 ms
2022-11-09 13:28:40.391 DEBUG 1 --- [           main] o.j.local.office.LocalOfficeUtils        : Default office home set to /usr/lib/libreoffice
2022-11-09 13:28:40.416 DEBUG 1 --- [           main] o.j.c.office.AbstractOfficeManagerPool   : Returning office manager to the pool...
2022-11-09 13:28:40.418  INFO 1 --- [er-offprocmng-0] o.j.local.office.OfficeDescriptor        : soffice info (from exec path): Product: LibreOffice - Version: ??? - useLongOptionNameGnuStyle: true
2022-11-09 13:28:40.427 DEBUG 1 --- [           main] o.j.c.office.AbstractOfficeManagerPool   : Returning office manager to the pool...
2022-11-09 13:28:40.427  INFO 1 --- [er-offprocmng-1] o.j.local.office.OfficeDescriptor        : soffice info (from exec path): Product: LibreOffice - Version: ??? - useLongOptionNameGnuStyle: true
2022-11-09 13:28:40.877 DEBUG 1 --- [er-offprocmng-0] o.j.local.office.OfficeDescriptor        : Building org.jodconverter.local.office.OfficeDescriptor from help output lines
2022-11-09 13:28:40.878  INFO 1 --- [er-offprocmng-0] o.j.local.office.OfficeDescriptor        : soffice info (from help output): Product: LibreOffice - Version: 7.0.4.2 - useLongOptionNameGnuStyle: true
2022-11-09 13:28:40.911 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.OfficeDescriptor        : Building org.jodconverter.local.office.OfficeDescriptor from help output lines
2022-11-09 13:28:40.911  INFO 1 --- [er-offprocmng-1] o.j.local.office.OfficeDescriptor        : soffice info (from help output): Product: LibreOffice - Version: 7.0.4.2 - useLongOptionNameGnuStyle: true
2022-11-09 13:28:40.915 DEBUG 1 --- [er-offprocmng-0] o.j.l.process.AbstractProcessManager     : No matching command line found! Returning pid: NOT_FOUND
2022-11-09 13:28:40.915 DEBUG 1 --- [er-offprocmng-0] o.j.l.office.LocalOfficeProcessManager   : Checking existing process done; no process running with --accept 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ServiceManager'
2022-11-09 13:28:40.916 DEBUG 1 --- [er-offprocmng-0] o.j.l.office.LocalOfficeProcessManager   : ProcessBuilder command: /usr/lib/libreoffice/program/soffice.bin --accept=socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ServiceManager --headless --invisible --nocrashreport --nodefault --nofirststartwizard --nolockcheck --nologo --norestore -env:UserInstallation=file:///tmp/.jodconverter_socket_host-127.0.0.1_port-
2002_tcpNoDelay-1
2022-11-09 13:28:40.917 DEBUG 1 --- [er-offprocmng-0] o.j.l.office.LocalOfficeProcessManager   : OFFICE HOME: /usr/lib/libreoffice
2022-11-09 13:28:40.918  INFO 1 --- [er-offprocmng-0] o.j.l.office.LocalOfficeProcessManager   : Starting process with --accept 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ServiceManager' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2002_tcpNoDelay-1'
2022-11-09 13:28:40.920 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #1
2022-11-09 13:28:40.946 DEBUG 1 --- [er-offprocmng-1] o.j.l.process.AbstractProcessManager     : No matching command line found! Returning pid: NOT_FOUND
2022-11-09 13:28:40.946 DEBUG 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : Checking existing process done; no process running with --accept 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1;urp;StarOffice.ServiceManager'
2022-11-09 13:28:40.946 DEBUG 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : ProcessBuilder command: /usr/lib/libreoffice/program/soffice.bin --accept=socket,host=127.0.0.1,port=2003,tcpNoDelay=1;urp;StarOffice.ServiceManager --headless --invisible --nocrashreport --nodefault --nofirststartwizard --nolockcheck --nologo --norestore -env:UserInstallation=file:///tmp/.jodconverter_socket_host-127.0.0.1_port-
2003_tcpNoDelay-1
2022-11-09 13:28:40.946 DEBUG 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : OFFICE HOME: /usr/lib/libreoffice
2022-11-09 13:28:40.946  INFO 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : Starting process with --accept 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1;urp;StarOffice.ServiceManager' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2003_tcpNoDelay-1'
2022-11-09 13:28:40.947 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #1
2022-11-09 13:28:40.952 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Trying to find pid, attempt #1
2022-11-09 13:28:40.968 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Trying to find pid, attempt #1
2022-11-09 13:28:40.998 DEBUG 1 --- [er-offprocmng-0] o.j.l.process.AbstractProcessManager     : Command line matches! Returning pid: 58
2022-11-09 13:28:40.998 DEBUG 1 --- [er-offprocmng-0] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2022-11-09 13:28:41.019 DEBUG 1 --- [er-offprocmng-1] o.j.l.process.AbstractProcessManager     : Command line matches! Returning pid: 61
2022-11-09 13:28:41.019 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1'
2022-11-09 13:28:41.115 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #1 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.123 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #1 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.366 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #2
2022-11-09 13:28:41.367 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1'
2022-11-09 13:28:41.369 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #2 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.374 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #2
2022-11-09 13:28:41.374 DEBUG 1 --- [er-offprocmng-0] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2022-11-09 13:28:41.376 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #2 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.619 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #3
2022-11-09 13:28:41.620 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1'
2022-11-09 13:28:41.626 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #3
2022-11-09 13:28:41.627 DEBUG 1 --- [er-offprocmng-0] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2022-11-09 13:28:41.628 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #3 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.626 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #3 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.879 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #4
2022-11-09 13:28:41.879 DEBUG 1 --- [er-offprocmng-0] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2022-11-09 13:28:41.882  WARN 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Office process died with exit code 81; restarting it
2022-11-09 13:28:41.882 DEBUG 1 --- [er-offprocmng-0] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #4 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.883 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #4
2022-11-09 13:28:41.883 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.OfficeConnection        : Connecting with connectString 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1'
2022-11-09 13:28:41.884  WARN 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Office process died with exit code 81; restarting it
2022-11-09 13:28:41.885 DEBUG 1 --- [er-offprocmng-1] o.j.l.o.StartProcessAndConnectRetryable  : Execution attempt #4 failed, retrying after sleep of 250 ms
2022-11-09 13:28:41.977  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-11-09 13:28:41.986  WARN 1 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestConditi
on.getPatterns()" because "this.condition" is null
2022-11-09 13:28:41.988  INFO 1 --- [           main] o.j.c.office.AbstractOfficeManagerPool   : Stopping the office manager pool...
2022-11-09 13:28:41.988 DEBUG 1 --- [           main] o.j.l.office.LocalOfficeProcessManager   : Submitting stop task...
2022-11-09 13:28:41.990 DEBUG 1 --- [           main] o.j.l.office.LocalOfficeProcessManager   : Waiting for stop task to complete (121000 millisecs)...

and after more about the exception is shown:

2022-11-09 13:28:42.859 DEBUG 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : Stopping the office process with deleteInstanceProfileDir set to true...
2022-11-09 13:28:42.862 DEBUG 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : The office process will be terminated shortly. A request has been sent to terminate the desktop.
2022-11-09 13:28:42.862 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.ExitCodeRetryable       : Execution attempt #1
2022-11-09 13:28:42.862 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.ExitCodeRetryable       : Execution attempt #1 failed, retrying after sleep of 250 ms
2022-11-09 13:28:42.910  INFO 1 --- [ssageDispatcher] o.j.local.office.OfficeConnection        : Disconnected from 'socket,host=127.0.0.1,port=2003,tcpNoDelay=1'
2022-11-09 13:28:43.112 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.ExitCodeRetryable       : Execution attempt #2
2022-11-09 13:28:43.112 DEBUG 1 --- [er-offprocmng-1] o.j.local.office.ExitCodeRetryable       : Execution succeeded on attempt #2
2022-11-09 13:28:43.113  INFO 1 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager   : Process exited with code 0
2022-11-09 13:28:43.114 DEBUG 1 --- [er-offprocmng-1] o.jodconverter.core.office.OfficeUtils   : Deleting '/tmp/.jodconverter_socket_host-127.0.0.1_port-2003_tcpNoDelay-1'
2022-11-09 13:28:43.114 DEBUG 1 --- [er-offprocmng-1] o.j.c.o.OfficeUtils$DeleteFileRetryable  : Execution attempt #1
2022-11-09 13:28:43.138 DEBUG 1 --- [er-offprocmng-1] o.j.c.o.OfficeUtils$DeleteFileRetryable  : Execution succeeded on attempt #1
2022-11-09 13:28:43.138 DEBUG 1 --- [           main] o.j.l.office.LocalOfficeProcessManager   : Stop task executed successfully.
2022-11-09 13:28:43.138 DEBUG 1 --- [           main] o.jodconverter.core.office.OfficeUtils   : Deleting '/tmp/.jodconverter_2a24db8e-9633-4e59-a198-025ecc58b292'
2022-11-09 13:28:43.139 DEBUG 1 --- [           main] o.j.c.o.OfficeUtils$DeleteFileRetryable  : Execution attempt #1
2022-11-09 13:28:43.140 DEBUG 1 --- [           main] o.j.c.o.OfficeUtils$DeleteFileRetryable  : Execution succeeded on attempt #1
2022-11-09 13:28:43.158  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2022-11-09 13:28:43.187  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-11-09 13:28:43.228 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar!/:5.3.22]
        at java.base/java.lang.Iterable.forEach(Unknown Source) ~[na:na]
        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar!/:5.3.22]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar!/:2.7.3]
        at org.jodconverter.sample.rest.SpringBootRestApplication.main(SpringBootRestApplication.java:46) ~[classes!/:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[app.war:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[app.war:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) ~[app.war:na]
        at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:58) ~[app.war:na]
Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null
        at springfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56) ~[springfox-spring-webmvc-3.0.0.jar!/:3.0.0]
        at springfox.documentation.RequestHandler.sortedPaths(RequestHandler.java:113) ~[springfox-core-3.0.0.jar!/:3.0.0]
        at springfox.documentation.spi.service.contexts.Orderings.lambda$byPatternsCondition$3(Orderings.java:89) ~[springfox-spi-3.0.0.jar!/:3.0.0]

The interesting is that the gui is working without any problems...

Support for arm64

Not sure but trying to run docker image on mac m1 and get the folllowing error at startup:

Caused by: java.io.IOException: Cannot run program "/bin/sh": error=0, Failed to exec spawn helper: pid: 40, exit value: 1 at java.base/java.lang.ProcessBuilder.start(Unknown Source) ~[na:na] at java.base/java.lang.ProcessBuilder.start(Unknown Source) ~[na:na] at java.base/java.lang.Runtime.exec(Unknown Source) ~[na:na] at java.base/java.lang.Runtime.exec(Unknown Source) ~[na:na] at org.jodconverter.local.process.AbstractProcessManager.execute(AbstractProcessManager.java:66) ~[jodconverter-local-4.4.6-SNAPSHOT.jar!/:4.4.6-SNAPSHOT] at org.jodconverter.local.process.UnixProcessManager.execute(UnixProcessManager.java:68) ~[jodconverter-local-4.4.6-SNAPSHOT.jar!/:4.4.6-SNAPSHOT] at org.jodconverter.local.process.AbstractProcessManager.findPid(AbstractProcessManager.java:125) ~[jodconverter-local-4.4.6-SNAPSHOT.jar!/:4.4.6-SNAPSHOT] at org.jodconverter.local.office.LocalOfficeProcessManager.checkForExistingProcess(LocalOfficeProcessManager.java:562) ~[jodconverter-local-4.4.6-SNAPSHOT.jar!/:4.4.6-SNAPSHOT] ... 5 common frames omitted Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 40, exit value: 1 at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) ~[na:na] at java.base/java.lang.ProcessImpl.<init>(Unknown Source) ~[na:na] at java.base/java.lang.ProcessImpl.start(Unknown Source) ~[na:na] ... 13 common frames omitted
Running the amd64 image on mac m1. What might be the cause?

cors problem

Hello,

I have a client running on localhost:8081 and docker jodconverter running on localhost:8080. when i send a post request i get color error:

Cross-origin request blocked: The same origin policy (Same Origin Policy) prevents the remote resource from being read at http: // localhost: 8080 / lool / convert-to. (Reason: the CORS header 'Access-Control-Allow-Origin' is not present).

can not start rest service

hello, i tried to run the rest service as described in the readme:

[erdos@localhost ~]$ docker run --memory 512m  --rm -p 8080:8080 eugenmayer/jodconverter:rest
Unable to find image 'eugenmayer/jodconverter:rest' locally
rest: Pulling from eugenmayer/jodconverter
516433960039: Pull complete 
083ed1d8baf8: Pull complete 
973ddf6ced71: Pull complete 
f24688a9f67e: Pull complete 
66b207299ef1: Pull complete 
8c45392033df: Pull complete 
f1cb2dbabfeb: Pull complete 
fcacb48d0013: Pull complete 
ec8a7da60164: Pull complete 
4ac27b4967b5: Pull complete 
3a65b0c32444: Pull complete 
Digest: sha256:ae4353af999e96fb5c6d4ada1bdfcece1fa83e943e2aed1932d6f18fea11ec0c
Status: Downloaded newer image for eugenmayer/jodconverter:rest

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.2.RELEASE)

2019-03-05 08:26:43.401  INFO 1 --- [           main] o.j.s.s.SpringBootRestApplication        : Starting SpringBootRestApplication on 88a2744c7da0 with PID 1 (/opt/app/app.jar started by root in /)
2019-03-05 08:26:43.405 DEBUG 1 --- [           main] o.j.s.s.SpringBootRestApplication        : Running with Spring Boot v2.0.2.RELEASE, Spring v5.0.6.RELEASE
2019-03-05 08:26:43.408  INFO 1 --- [           main] o.j.s.s.SpringBootRestApplication        : No active profile set, falling back to default profiles: default
2019-03-05 08:26:43.494  INFO 1 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3c46e67a: startup date [Tue Mar 05 08:26:43 UTC 2019]; root of context hierarchy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:/opt/app/app.jar!/BOOT-INF/lib/spring-core-5.0.6.RELEASE.jar!/) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2019-03-05 08:26:45.520  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-03-05 08:26:45.559  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-03-05 08:26:45.560  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.31
2019-03-05 08:26:45.583  INFO 1 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib]
2019-03-05 08:26:45.693  INFO 1 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-03-05 08:26:45.693  INFO 1 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2208 ms
2019-03-05 08:26:45.858  INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2019-03-05 08:26:45.862  INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2019-03-05 08:26:45.863  INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2019-03-05 08:26:45.863  INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2019-03-05 08:26:45.863  INFO 1 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2019-03-05 08:26:46.371  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/swagger-resources]}" onto public org.springframework.http.ResponseEntity<java.util.List<springfox.documentation.swagger.web.SwaggerResource>> springfox.documentation.swagger.web.ApiResourceController.swaggerResources()
2019-03-05 08:26:46.372  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/swagger-resources/configuration/ui]}" onto public org.springframework.http.ResponseEntity<springfox.documentation.swagger.web.UiConfiguration> springfox.documentation.swagger.web.ApiResourceController.uiConfiguration()
2019-03-05 08:26:46.373  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/swagger-resources/configuration/security]}" onto public org.springframework.http.ResponseEntity<springfox.documentation.swagger.web.SecurityConfiguration> springfox.documentation.swagger.web.ApiResourceController.securityConfiguration()
2019-03-05 08:26:46.386  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/lool/convert-to],methods=[POST],produces=[application/octet-stream]}" onto public java.lang.Object org.jodconverter.sample.springboot.ConverterController.convertToUsingParam(org.springframework.web.multipart.MultipartFile,java.lang.String,java.util.Map<java.lang.String, java.lang.String>)
2019-03-05 08:26:46.387  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/lool/convert-to/{format}],methods=[POST],produces=[application/octet-stream]}" onto public java.lang.Object org.jodconverter.sample.springboot.ConverterController.convertToUsingPath(org.springframework.web.multipart.MultipartFile,java.lang.String,java.util.Map<java.lang.String, java.lang.String>)
2019-03-05 08:26:46.393  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2019-03-05 08:26:46.394  INFO 1 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2019-03-05 08:26:46.451  WARN 1 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xmlModelPlugin': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [springfox.documentation.schema.XmlModelPlugin] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@3234e239]
2019-03-05 08:26:46.455  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-03-05 08:26:46.478  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-03-05 08:26:46.486 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xmlModelPlugin': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [springfox.documentation.schema.XmlModelPlugin] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@3234e239]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:262) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1202) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:541) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar!/:2.0.2.RELEASE]
	at org.jodconverter.sample.springboot.SpringBootRestApplication.main(SpringBootRestApplication.java:41) [classes!/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [app.jar:na]
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [app.jar:na]
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [app.jar:na]
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [app.jar:na]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [springfox.documentation.schema.XmlModelPlugin] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@3234e239]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:659) ~[spring-core-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:556) ~[spring-core-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:541) ~[spring-core-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:245) ~[spring-beans-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	... 26 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlType
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na]
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3119) ~[na:na]
	at java.base/java.lang.Class.getDeclaredMethods(Class.java:2268) ~[na:na]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:641) ~[spring-core-5.0.6.RELEASE.jar!/:5.0.6.RELEASE]
	... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlType
	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466) ~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566) ~[na:na]
	at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) ~[app.jar:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ~[na:na]
	... 33 common frames omitted

Drop root privileges

Currently the container scripts including libreoffice runs as root. surely it is encapsulated in the container, but as root the attack surface is still much bigger.

Considering the complex nature of parsing office documents leading to security vulnerabilities and that the jodconverter presumably is normally fed with untrusted user data I think this should be changed :)

Swagger Doc not reachable

Hi, the link http://localhost:8080/swagger-ui.html only gives back:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Wed Oct 21 18:44:52 UTC 2020
There was an unexpected error (type=Not Found, status=404).
No message available

application.properties does not applying ?

.......
RUN mkdir -p ${JAR_FILE_BASEDIR} /etc/app \
  && touch /etc/app/application.properties \
  && chmod +x /docker-entrypoint.sh

COPY config/application.properties /etc/app/application.properties

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["-Dspring.config.location=/etc/app/application.properties"]
.............

I don't understand why in this case properties can't be applied?

And in general, could you confirm that this option released?

Best regards, Ivan!

jodconverter has moved to a public organization

Hello there. I couldn't find how to contact you so here it is.

I moved JODConverter to an organization repo:
https://github.com/jodconverter/jodconverter

You will have to update your repo to reflect that.

You probably received an invitation. You are a full maintainer of the new jodconverter repository. You can commit everything you want without my permission, I trust you completely.

I would like to have a way to contact you in order to share my vision about the project. Maybe start a discussion in the jodconverter organization?

:rest docker box fails by default

Hi, I've build the dockerfile and the according entrypoint, but the Docker builds successfully, but then always pumps out this:

jodconverter    | jshell> jodconverter exited with code 0
jodconverter    | |  Welcome to JShell -- Version 11.0.8
jodconverter    | |  For an introduction type: /help intro
jodconverter    | 
jodconverter    | jshell> jodconverter exited with code 0
jodconverter    | |  Welcome to JShell -- Version 11.0.8
jodconverter    | |  For an introduction type: /help intro
jodconverter    | 
jodconverter    | jshell> jodconverter exited with code 0
jodconverter    | |  Welcome to JShell -- Version 11.0.8
jodconverter    | |  For an introduction type: /help intro
jodconverter    | 
jodconverter    | jshell> jodconverter exited with code 0
jodconverter    | |  Welcome to JShell -- Version 11.0.8
jodconverter    | |  For an introduction type: /help intro
jodconverter    | 
jodconverter    | jshell> jodconverter exited with code 0

There is also no documentation under http://localhost:8080/swagger-ui.html and no other way that says how to use this thing. It would be awesome if you can add it! Thanks a lot :)

jodconverter fails after 5K conversions

We've been putting the image eugenmayer/jodconverter:rest through tests. I tried to convert 30K documents in 1 go. The jodconverter fails after 5K conversions with a "disk space full" message, the container runs on an AWS environment using 20Gb "ephemeral storage".

Maybe some more aggressive pruning of logs/data could be implemented.

Regards,
Sven

Create docker-entrypoint.sh

ENV var configuration and what else we need there, put that under entrypoint, use /opt/jodconverter-spring/jodconverter-spring.war as a static startup, using CMD to provide extra args using $@

Process recycling leads to defunct process

After running for a while process start to accumulate inside the docker container.
It seems that the openoffice process does not exit properly and survives as defunct

See the process here after around 3 month work:

# ps -ef               
UID        PID  PPID  C STIME TTY          TIME CMD
[...]
root        37     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root        49     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root        64     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root        96     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root       107     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root       122     1  0  2019 ?        00:00:00 [soffice.bin] <defunct>
root      1532     1  0 Mar01 ?        00:00:00 [soffice.bin] <defunct>
root      1543     1  0 Mar01 ?        00:00:00 [soffice.bin] <defunct>
root      1558     1  0 Mar01 ?        00:00:00 [soffice.bin] <defunct>

Log analysis shows that new process are started with PID = previous +2

# grep "pid:" /var/log/app*
/var/log/app.log:2019-07-04 09:52:50.419 DEBUG 1 --- [ProcessThread-0] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 39
/var/log/app.log:2019-07-04 09:52:50.803 DEBUG 1 --- [ProcessThread-0] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 66
/var/log/app.log:2019-07-04 09:52:51.195 DEBUG 1 --- [ProcessThread-1] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 98
/var/log/app.log:2019-07-04 09:52:51.555 DEBUG 1 --- [ProcessThread-1] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 124
/var/log/app.log:2020-03-01 10:08:29.952  INFO 1 --- [ProcessThread-1] org.jodconverter.office.OfficeProcess    : Trying to forcibly terminate process: 'host=127.0.0.1,port=2003,tcpNoDelay=1'; pid: 124
/var/log/app.log:2020-03-01 10:08:31.432 DEBUG 1 --- [ProcessThread-1] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 1534
/var/log/app.log:2020-03-01 10:08:31.794 DEBUG 1 --- [ProcessThread-1] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 1560
/var/log/app.log:2020-03-02 15:26:22.728 DEBUG 1 --- [ProcessThread-0] o.j.process.AbstractProcessManager       : Command line matches! Returning pid: 2498

My understanding is that the app detects the crash and restarts a new process. The issue is that this crash does not kill the old process

Which License

Hello,

I just saw your project but I can find any license on it, could you please share the license that you will/want to put on this project?

best regards

The docker image doesn't start

I want to try the converter and got the following:

evgeniy@pc ~ λ docker run --memory 512m --rm -p 8080:8080 ghcr.io/eugenmayer/jodconverter:gui
evgeniy@pc ~ λ docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
evgeniy@pc ~ λ 

Do I miss something?

Missing /etc/app/application.properties triggers startup failure

Running the application without /etc/app/application.properties volume triggers a startup failure.

docker run eugenmayer/jodconverter:rest
[...]
***************************
APPLICATION FAILED TO START
***************************

Description:

Config data location '/etc/app/' does not exist

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.