-
-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup with Nextcloud AIO #1409
Comments
I tried on two versions - Ubuntu latest + apache + nextcloud and mac M1 native docker + nextcloud. It seems to me that developers may return the http api url manual installation mode to be able to install packages in a separate container / vm. Or add the ability to provide installation of dependencies from an offline bundle package |
@Prodject Thanks for the followup message and further reproducing. Hoping to get this sorted soon. |
I tried to roll back to version 4.2.1 - I got a successful result of downloading dependencies. I also tried to update the version to 6.2.5 - the dependencies were preserved, but there was a bug that the current signature could not be changed. |
Could you try in the latest release (6.2.6)? |
@lhsazevedo updated LibreSign to 6.2.6 with Nextcloud being 25.0.3, tried to 'Download binaries', still shows the same errors. |
@lhsazevedo many thanks. I will run a fresh install on a fresh VM, and try to run LibreSign's download binaries as well and see if that works out. |
Okay, so this is interesting. Fresh VM > Fresh Docker & Compose > Fresh Nextcloud install. And it worked, I can’t get the imagick working to generate the previews when assigning signature positions on the actual pdfs. @lhsazevedo what would you suggest the next troubleshooting should be? I have disabled most of the apps on my Nextcloud instance to test if there are any conflicts (no luck here). |
I'm glad you made it. Now looks like you are missing the optional Since you are using the Nextcloud AIO container, you'll need to add it to the @Prodject I've just released a new version (6.2.7) which fixes a bug in the "download binaries" that was preventing the progress bars from showing which might fix your issue. Could you try again with this new version, in a clean installation? |
@lhsazevedo Would you look at that! Many thanks for the update, LibreSign 6.2.7 did the trick with my production as well (I just had to update LibreSign in Nextcloud GUI), all success apart from imagick, which I believe I will need to rebuild NextCloud AIO with Nextcloud_additional_APKS as you mentioned. Thank you for the link and your work on this! @lhsazevedo Off-topic question: Is there a way to ask for signatures without requiring for an account? This features would really get it close to DocuSign (Clinex of signature validations). |
Great! Happy to help. Let us know if you got it fully working. At the moment, a Nextcloud account is required for signing the document, but we are aware that removing this requirement would fit LibreSign to lots of use cases out there. This will require some significant rework in the app though, we are planning this in #1406. @Prodject I'm closing this for now, but don't hesitate to ping us if it still fails in a clean install. |
@lhsazevedo We might need to reopen this, as original issue came back, right after I tried to add "imagick" to I can confirm that the same issue came up when I re-pulled the latest image for the fresh/test instance. This is on my production instance: Could you suggest how to go about this now? |
Thanks for reporting again. # Uninstall all LibreSign binaries (Java, cfssl etc)
php occ libresign:uninstall --all
# Update Nextcloud filesystem nodes for libresign app data
php occ files:scan-app-data libresign Then proceed to the settings page and try downloading the binaries again. I've found that sometimes I need to click "download binaries" button for a second time when the first one fails. If that doesn't work, you could also repeat the commands above but this time download the binaries using the CLI: # Uninstall LibreSign binary dependencies (Java, cfssl etc)
php occ libresign:uninstall --all
# Update Nextcloud filesystem nodes for libresign app data
php occ files:scan-app-data libresign
# Install LibreSign binary dependencies
php occ libresign:install --all Either way, please report the results here to help us track this down. |
Many thanks @lhsazevedo , you are the best! So I managed to get the dependencies installed with 3 CLI commands:
GUI 'Downloads binaries' did not help. Running the second command gave me an error, which is not related to LibreSign, it is actually being tracked here. I have also tried to recreate the Nextcloud container, dependencies seem to be working and are not showing any errors. For the life of me, I can't get imagick working, as you suggested, I have added
|
Reading through the internet, I came across this, which might be interesting: nextcloud/server#13099 (comment) Would you guys consider switching from imagick to something else as suggested in the above discussion? |
Thank you all for working on this, I have been following and trying the suggested resolutions. I keep getting this error in the GUI. It seems like a slight version mismatch in JRE:
Do you know if there is a mechanism to specify the correct version of java for the install? I am on the latest AIO deployment of Nextcloud on an Ubuntu VPS. |
No problem, I'm learning a lot while trying to understand what is happening! Oh, that should be
That should fix it. Thanks for sharing the concerns around imagick vulnerabilities. The app uses it only for rendering pages when adding visible signatures, it would be necessary to estimate the work required to switch to a safer alternative like the new Imaginary service mentioned in the thread you sent. Would you mind creating an issue for this? Hi @BicycleMarketResearchLLC, I guess the cause of your problem is not related to this one. Could you open a new issue for it? |
@bigbeka We improved error logging for the setup process in v6.2.9 (Nextcloud 25) and v7.0.0 (Nextcloud 26). Maybe we can get more details about your issue. Try downloading binaries again and, if it fails, please share the last entries from |
Hi @lhsazevedo Thank you very much! I have now upgraded my NC25 to NC26.0.0 I had deleted LibreSign before doing this, so I downloaded LibreSign 7.0.0 and tried to download binaries and here are the errors that it output. Does it tell anything useful? |
@lhsazevedo After trying (with no luck) the new version, I tried manually running CLI commands you shared above, and they worked as expected, but the imagemagick is still not working. 🤷♂️ I have added Any other thoughts on this?
|
Ghostscript and ImageMagick is mandatory. You need to have both at server machine. |
Either you do not have ghostscript installed or LibreSign wasn't able to detect it, the former is most likely. You can check by opening a shell in your Nextcloud container and typing |
@lhsazevedo Thank you, as always, you were right, gs is not installed despite the fact that I have the -e NEXTCLOUD_ADDITIONAL_APKS="imagemagick ghostscript" added to my docker-compose.yml. Your suggestions on this error would be greatly appreciated. I will do some googling. |
@lhsazevedo It would be great to resolve this, as I am back in square 1 with 'Download Binaries'. As soon as I re-pull the image and |
Oops, I missed your comment about the error log. I'll take a look into it later this weekend. Thank you for your patience. |
Still the same. tried occ uninstall and install, java stays uninstalled. Or to be more precise: the // thing is gone, but still:
tried
nothing changed |
Sounds that could be related with: The issue #2327 already was solved but is open because is necessary to think more about how to give tips to identify that is a problem related to To identify if is about policy, try to run the command to check the java version directly at the terminal of your server. /mnt/ncdata/appdata_ocmhlw0tagos/libresign/java/jdk-21.0.2+13-jre/bin/java --version And first, check if this file (java) exists. |
java is not installed, folder is empty
edit: have to correct myself:
|
Have anything strange because you have the file and the message is not about without file, sounds that is about any dependency wrong. The file is downloaded from here if is x64 And from here if is aarch64: Could you download the tar file to your architecture, extract and test if To use the same way of LibreSign to identify the architecture, you can use the follow command: php -r "echo php_uname('m') . PHP_EOL;" The logic to choose what file will be downloaded considering the return of function if ($architecture === 'x86_64') {
} else {
} |
Ok, this is crazy - maybe I make a mistake, but even the downloaded version does not work (forget about wrong folders I produce)
the folder contains the same files as the java/bin which was downloaded by libresign itself. Not sure if I make a mistake... |
Yes, is the same content because is the same file that LibreSign setup get. Did you put at the same place? I ask because at your previous message is the same place. The place to extract the content is not important at this moment because I suggested to download and run the handmade test only to check if will works to you and the strange is that don't works. |
It is in ab sub-sub-folder of libresign. |
Yes, this is the strange point and I don't know how to solve. Let's think more about and wait for comments from others. |
Hello, same issue as @martin-77 . This might have something to do with the docker containers using alpine. Java can be executed as expected outside the container on ubuntu. |
Are you on nc28 or 29? @cubeoneGmbH |
I'm on nc28. |
I am testing LibreSign on NC28 with Nextcloud-AIO. The issue is that the container is alpine which is not build with glibc libraries and therefore the Java cant be executed inside the container. Running the following adds compatibility to glibc and then java and pdftk for that matter will be recognized and work for me.
Please keep in mind, that this task might need to be repeated every time nextcloud-aio-nextcloud is updated. The dependencies are in the persistent ncdata folder though. An automation could be to put the call to install gcompat into cron (as root or a user in the docker group) and schedule it after the nightly backup/update for nextcloud-aio: 0 5 * * * docker exec -it nextcloud-aio-nextcloud apk add gcompat libstdc++ Hope that helps people want to try LibreSign with Nextcloud-AIO EDIT: It is no longer working for me after repulling the container. It makes java executable and able to run but will not initialize the JVM correctly. As a workaround for testing: apk add openjdk11 Then make a symlink ln -s /usr/bin/java java #inside the java/bin folder of libresign or ln -s /usr/bin/java /mnt/ncdata/appdata_YOURID/libresign/java/jdk-VERSION-jre/bin/java Keep in mind the java version check will still fail in the gui because you have another version now running, but pdftk should be on green. You have working java version in alpine and the Addon works. But it is untested. |
sadly, this did not solve my issue. running v29 - maybe there is something different?
libjimage.so is not in the lib-folder |
Unfortunately this is also the case for nc28 but the libjimage.so file is existing and has correct permissions. |
With the updated solution @neocult-de provided PDFtk is now recognized properly. But jsignpdf still won't run and so does the whole application. "Necessary Java to run JSignPdf | jsignpdf" |
ref: #3026 |
Do you think that using Alpine as a base Linux distribution will be possible to reproduce the problem? I don't have any instances with Nextcloud AIO and looking at the documentation of AIO, I haven't found a way to run AIO locally to reproduce the issue. |
@szaimen might be the one, we all need ;-) sorry for the ping... |
Hi @vitormattos you could try nextcloud/all-in-one#588 (comment) |
It is not the questiuon of setting up Nextcloud-AIO itself but adding jdk-21.0.2+13-jre / java jdk on top of the the alpine image. |
The openjdk version shipped in the alpine repositories is outdated and can not be used. Therefore how to add os packages does not apply even though it would solve the issue if we could A rely on an updated version in Alpine and B LibreSign to actually use the shipped version. There is another solution just by LibreSign to actually download a fitting release depending on the distro / c-library it finds. Persistence of the downloaded binaries in docker / Nextcloud-AIO is given by saving and using the extra binaries in the app data folder within the NCPATH. |
I made this change: I wish to launch a new RC today to be more easy to test, but if possible, would be best getting the changes of this PR and making a test changing the file in your environment and launch a new stable release. |
Could you check again at the newest release of LibreSign? |
had to remove previous install and run occ files:scan-app-data libresign but then, installation was possible without any problems! Thanks a lot! |
The bugfix is out and working. So update the app via the AppStore and for making it work because the old checksum might be still there in the files follow the general reinstall procedure: occ libresign:uninstall --all It works on Nextcloud-AIO stable (Nextcloud 28.0.5) that LibreSign 8.0.2 is correctly backported. A uninstall --all and reinstall via the web interface and via command line both works. A reinstallation of java by itself as well. It works as well on Nextcloud-AIO with manual update to Nextcloud 29.0.0 and with LibreSign 9.0.2 in the same way. Both were directly installed with the release from the App Store |
Closing this issue as solved 🎉 Thanks a lot by contribution of all that give a comment at this issue. If this issue persists, don't hesitate to open a new issue making reference to this. Note If you like this app, don't hesitate to help usWays to help this project:
|
Issue: Error - Java not installed message;
Advice: Run occ libresign:install --java
To reproduce:
Screenshots
Environment information (please complete the following information):
Searching here or elsewhere did not reveal that someone else had similar issue.
The text was updated successfully, but these errors were encountered: