With the restrictions I mentioned, the guide works very well to define a system without error messages. In order to actually use this system, it unfortunately does not help because of the restrictions mentioned.
Why should one come up with the idea of installing an OO client on every workstation? I want to use OO/SF to avoid exactly that.
Incidentally, my attempts included invalid (typo) information on the IP. Each change was followed by a reboot of the server, so that a cache error can actually be ruled out.
Hi @mercury
This is how I installed Onlyoffice on debian 11 Bullseye and Nginx,
in this installation i am using port 88 to serve seafile with OO (OnlyOffice )
and the Onlyoffice instance is on the same server as Seafile
Seafile pro 9.0.10 (no Docker)
Onlyoffice 7.2 ( Docker)
Elasticsearch 8.4.2 (Docker )
Delete the old instance of OO and also delete the old image in docker Install pyjwt with the user you start seafile as, not as root
pip install pyjwt
Launch your OO instance as follows: sudo docker run -i -t -d -p 88:80 --restart=always --name oods -e JWT_ENABLED=true -e JWT_SECRET=XXXXXXXXXX onlyoffice/documentserver
Restart seafile or your server and try and check that you can reach your Onlyoffice instance example with my server : ONLYOFFICE Docs Community Edition
Thank you for posting, @Cisco. Followed to the letter and still getting the white screen. There are no errors posted to the OO logs. When I revert back to the previous version of OO, it works again.
The big change seems to be with JWT_SECRET (and maybe pyjwt). I checked that PyJWT is installed (1.7.1). Are there any other prerequisites or dependencies that I might have missed along the way?
then go check the secret in the “local.json” file of onlyoffice in this way
docker exec -it <container id> bash nano /etc/onlyoffice/documentserver/local.json
and modify if necessary “secret inbox” “secret outbox” “session string” with your JWT_SECRET
save and exit by exit
and restarting the supervisor or the server.
I entered the JWT_SECRET in the three fields and saved the container but when I start Seafile (ore restart the server) I still get a white screen when I open an Office document.
Working it the other way around, I used the default Secret found in a new OO container, adding it to both Seafile’s seahub_settings.py and -e JWT_SECRET=XXXXXXXXXX in “docker run…”, also with no change.
(By the way, as I’ve gone through the process many times now, I noticed that the new OO container always creates the same value for the three fields.)
Thanks for the detailed notes. They are very helpful and excellent documentation. Much appreciated.
Yes, there is a log file present. The closest thing that I see that looks like an error message might be lines like these:
{“log”:“nc: port number invalid: \r\n”,“stream”:“stdout”,“time”:“2022-10-14T21:55:46.159271185Z”}
{“log”:“Waiting for connection to the host on port \r\n”,“stream”:“stdout”,“time”:“2022-10-14T21:55:46.159471161Z”}
{“log”:“nc: port number invalid: \r\n”,“stream”:“stdout”,“time”:“2022-10-14T21:55:47.163074131Z”}
{“log”:“Waiting for connection to the host on port \r\n”,“stream”:“stdout”,“time”:“2022-10-14T21:55:47.163329836Z”}
I see these when I start the container not when I attempt to open a document.
Maybe a Docker installation will cause additional problems. I don’t use Docker and still have the “white screen” problem.
But only in the browser. My Android client displays Office documents as expected.
I apparently stumbled onto a solution and OnlyOffice works again.
Based on the last round of poking and prodding it seemed that the server and the OODS Docker container were not communicating, at least as far as the JWT_SECRET was concerned. As a result I started to look for additional tips or tricks that might help and, in the process, uncovered a little-referenced (to me at least) procedure to setup the OODS container using docker-compose rather than docker-ce which is what I had been using. For those interested the docker-compose notes are in the Seafile Manual under the Seafile Pro section and do not appear unusual or exotic or even necessarily specific to Pro.
Since I had nothing to lose I decided to install docker-compose to see if it would work instead and, once installed, I discovered that for reasons unknown docker-ce had been removed. This was a show-stopper since I run another container on the server that is essential and I did not want to reinstall using compose, if possible.
Thankfully after reinstalling docker-ce all containers and data were present and, to my disbelief, I found that for the first time OnlyOffice (7.2.1.34 image) opened MSOffice documents. I should say in passing that I had previously tested the 7.2.1.34 image without success.
Sadly, I do not know why this worked. The server itself is kept up-to-date, more or less on a monthly basis. The docker-ce installation, however, was very old and had been upgraded many times over the years. Is it possible that the new installation added or fixed something that was missing or broken? I’d like to know for reference.
As to docker-ce going missing as a result of installing docker-compose, it has been observed before. There is a post reporting it here.
In any event, at least at this juncture, things are working again. Thank you all for your comments and suggestions.
First, make sure your Docker instance is installed, updated, and working correctly. That was the basis of my problem.
Make sure PyJWT is installed.
You can generate a JWT Key using the link provided by Cisco above or maybe, more formally, using this online Online JWT Generator form.
Can you spin-up an OnlyOffice container successfully?
Are you able to access the OnlyOffice container as described by Cisco above?
Have you made the necessary changes to seahub_settings.py and reverse proxy as shown above? (If you are upgrading from an old install of OnlyOffice on Seafile most of this work should be done.)
When you spin-up the OnlyOffice container you can do so using the command line via:
it doesn’t work, still blank page apt install python3-jwt Generate a JWT code via the form https://www.javainuse.com/jwtgenerator Then I deleted the docker and recreate via the instructions that @mercury gave me.
Debian Server 11 Apache2 Server
You don’t have to generate a JWT token, you just need a secret, like a 35 digit (or even longer) character sequence with upper & lower case letters, numbers and special characters, like: