unoconv / unoserver-docker

Docker files for a dockerized unoserver
MIT License
42 stars 19 forks source link

Image on `ghcr.io/unoconv/unoserver-docker` is outdated. #58

Closed aizpy closed 5 days ago

aizpy commented 1 month ago

The current image on ghcr.io/unoconv/unoserver-docker is outdated (version 0.3.21). The unoserver version used in the image is 2.0.1, while the latest unoserver version is 2.2.2. When I use unoconvert version 2.2.2 for file conversion, the following error is reported:

unoconvert --host-location remote --convert-to docx /data/convert/3060177.doc /data/3060177.docx
INFO:unoserver:Connecting.
Traceback (most recent call last):
  File "/usr/local/bin/unoconvert", line 8, in <module>
    sys.exit(converter_main())
  File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 354, in converter_main
    result = client.convert(
  File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 124, in convert
    info = self._connect(proxy)
  File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 52, in _connect
    info = proxy.info()
  File "/usr/lib/python3.10/xmlrpc/client.py", line 1122, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python3.10/xmlrpc/client.py", line 1464, in __request
    response = self.__transport.request(
  File "/usr/lib/python3.10/xmlrpc/client.py", line 1166, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python3.10/xmlrpc/client.py", line 1182, in single_request
    return self.parse_response(resp)
  File "/usr/lib/python3.10/xmlrpc/client.py", line 1354, in parse_response
    return u.close()
  File "/usr/lib/python3.10/xmlrpc/client.py", line 668, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault 1: '<class \'Exception\'>:method "info" is not supported'>

As mentioned in this link Issue 130, this error is due to the version mismatch between the two.

jimisola commented 1 month ago

You'll have to use the version (via docker or pypi) in both places for now. The github action pipeline broke after an update, I've spent hours on resolving it, but I haven't been successful. I don't have an unlimited amount of time to put into this project. Especially, not since I'm not using unoserver anymore myself.

I see now that they have released a new major version, so it's worth having a look at it again.

@regebro Would you have time to have a look at it? Or is there someone else that can take over?

regebro commented 1 month ago

@jimisola I haven't got the foggiest idea of anything that is going on in this repository, and I have run out of time trying to understand it. If you don't have time to maintain it, we should mark it as unmaintained.

jimisola commented 1 month ago

Sorry for the delayed response due to sickness. The merge step in pipeline fails due to an issue with the quotation. I'm not sure (tried everything including manipulation with awk and sed) how to fix it other than a workaround that removes some information from the build.

I've reported the issue to the github action and they're looking at it. So, when I'm not sick I'll revert to the workaround in order to make a release and then wait for a fix upstreams.

jimisola commented 1 month ago

Trying to revert back to a working workflow while awaiting https://github.com/docker/build-push-action/issues/1200 But, so far no luck. It can be that it has to be fixed in docker build-push action but I hope not.

arieroos commented 2 weeks ago

Hi

I see unoserver is now on version 3.0.1. I did get the docker image working on my machine with the new version. If you like, I can make a PR for it. However, I'm not sure if that will resolve the issue with the github action.

However, I'm not sure if this will fix the underlying issue

jimisola commented 2 weeks ago

Thanks but updating unoserver is not an issue. I'm stuck due to github action issue. Awaiting feedback from https://github.com/docker/build-push-action/issues/1200 and @crazy-max. Fingers crossed

My only other option is to go back to basics but that would mean only amd64 build no arm64 build.

bodybreaker commented 1 week ago

Same here, Is there any soloution for this ?

bodybreaker commented 1 week ago

Same here, Is there any soloution for this ?

I changed ARG VERSION_UNOSERVER=3.0.1

then issue fixed

jimisola commented 1 week ago

Updating the version directly in the docker file is correct. However, our main issue issue now as per above is with the buildx github action. The author of that was working on debugging with me but then it stopped and I haven't been able to figure out the issue.

One solution/workaround would be to drop support for linux/arm64 and just keep linux/amd64 as non-multiplatform build is quite straight forward. But, I would like to keep both versions. I'll see if I can find another github project that does this, i.e. publishes docker containers to ghcr.io for both amd64 and arm64.

That said, I've created a ticket #70 to activate renovate that should (if I configured it correct) keep track of the unoserver version in the Dockerfile and create a new PR when a new release is available.

jimisola commented 1 week ago

@arieroos @bodybreaker @aizpy I've made new workflow that does not contain all the metadata as before but it creates the images at least. I've released unoserver-docker 0.4.0 that contains unoserver 3.0.1. Can you try it out and report back? If you are able to try it for both amd64 and arm64 then please do.

arieroos commented 6 days ago

I tested on Linux with amd64, it is working well. I don't have access to an arm chip right now.

Thank you very much