Seafile CE 9.0.8 + OnlyOffice 7.2.204 = White/Blank Screen

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.

Ok, i solved e)
The line mentioned in the manual should be at least:

ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’, ‘ods’, ‘odp’, ‘odt’)

instead of the nasty, short list of proprietary formats

ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’)

to avoid problems like mine, list old shitty MS-Formats too

ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’, ‘ods’, ‘odp’, ‘odt’, ‘doc’, ‘xls’, ‘ppt’)

Maybe a security risk with doc, xls, ppt…

if OO cannot handle one of these unlisted formats correctly, this should be clearly communicated.

Further investigation:
fidling in seahub_settings.py with initial entry from

SERVICE_URL = http://192.168.xx.xx/
to
SERVICE_URL = http://extern.mydomain.de:8000/

At this time i’m working with

SERVICE_URL = http://seafile/

Entry seems to be irrelevant.

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.

White page of horror on external access!

Thanks for pointing me in the right direction.

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 )

  1. 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

  2. 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

JWT_SECRET=(generate a JWT_SECRET)
64 random hexadecimal characters (0-9 and A-F)

  1. Add these lines in the seahub_settings.py file

    ENABLE_ONLYOFFICE = True
    VERIFY_ONLYOFFICE_CERTIFICATE = True
    ONLYOFFICE_APIJS_URL = ‘https://your.domain.com/onlyofficeds/web-apps/apps/api/documents/api.js
    ONLYOFFICE_FILE_EXTENSION = (‘doc’, ‘docx’, ‘ppt’, ‘pptx’, ‘xls’, ‘xlsx’, ‘odt’, ‘fodt’, ‘odp’, ‘fodp’, ‘ods’, ‘fods’)
    ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’)
    ONLYOFFICE_JWT_SECRET = ‘XXXXXXXXXX’

4)Add these lines at the very beginning in the nginx file of seafile

map $http_x_forwarded_proto $the_scheme {

	default $http_x_forwarded_proto;

	"" $scheme;

}



map $http_x_forwarded_host $the_host {

	default $http_x_forwarded_host;

	"" $host;

}



map $http_upgrade $proxy_connection {

	default upgrade;

	"" close;

and after the seafile config add this

location /onlyofficeds/ {

    proxy_pass http://127.0.0.1:88/;
    proxy_http_version 1.1;
    client_max_body_size 100M; # Limit Document size to 100MB
    proxy_read_timeout 3600s;
    proxy_connect_timeout 3600s;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $proxy_connection;
    proxy_set_header X-Forwarded-Host $the_host/onlyofficeds;		
    proxy_set_header X-Forwarded-Proto $the_scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

Restart seafile or your server and try
and check that you can reach your Onlyoffice instance
example with my server : ONLYOFFICE Docs Community Edition

1 Like

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?

-Thanks again

do you have a log file there?

/var/lib/docker/containers/ CONTAINER ID /

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.

Are you running ONLYOFFICE Documents for Android?

Both the v.7.1 and v.7.2 versions of the iOS apps seem to work fine too.

No. Only the seafile-client for android.

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.

1 Like

I have the same problem White page when opening the file. How to generate JWT_SECRET

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:

sudo docker run -i -t -d -p 88:80 --dns=1.1.1.1 --restart=always --name oods
-e JWT_ENABLED=true
-e JWT_SECRET=This-Is-A-Very-Long-And-Cryptic-JWT-Key
onlyoffice/documentserver:latest

If things are working correctly you should now be able to see the JWT Key in the OnlyOffice container as described by Cisco above.

If the correct Key is in the container and in Seafile server things should be in good working order (fingers crossed).

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:

*3cc6BkrQZAA@iN6qH&zEp6#RCeZ2qnfH#t

But please don’t use that example !

Don’t walk, the horror is that this works https://domaine.com/onlyofficeds/welcome/

Did OnlyOffice ever work with an older Docker image or is this a new installation?