-
Notifications
You must be signed in to change notification settings - Fork 251
Description
Description
I get a |500| error in the filebrowser log when filebrowser attempts but fails to load document previews. I got no log entries in Onlyoffice before, during or after the preview loading process. Onlyoffice docker deployment has no log entries when opening, editing, saving or closing a word document.
** I can open, edit and save the documents with filebrowser and onlyoffice intergration without a problem. **
I have filebrowser installed with Traefik as a reverse proxy. I initially had the same problem as OnlyOffice Download Failed #650, however I was able to resolve that problem by implementing the resolution provided at: https://forum.onlyoffice.com/t/adding-documentserver-to-existing-traefik-proxy-works-halfway-but-cannot-open-documents/3239/12, specifically the part to add the traefik labels:
- "traefik.enable=true"
- "traefik.http.routers.onlyoffice.rule=Host(
office.my-super.domain)" - "traefik.http.routers.onlyoffice.middlewares=onlyoffice-headers"
- "traefik.http.middlewares.onlyoffice-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.onlyoffice-headers.headers.accessControlAllowOriginList=*"
**** I attempted to see if the issue had been described elsewhere and I couldn't find anything. ****
Expected behaviour
Onlyoffice document previews load in filebrowser.
What is happening instead?
Previews fail to load and I get a |500| entry in the filebrowser log.
docker logs filebrowser output(keys and url values have been truncated or changed for privacy):
2025/07/04 14:23:43 [INFO ] Initializing
FileBrowser Quantum (v0.7.11-beta)
2025/07/04 14:23:43 [INFO ] Using Config file : config.yaml
2025/07/04 14:23:43 [INFO ] Auth Methods : [password oidc]
2025/07/04 14:23:43 [INFO ] Using existing database : database/database.db
2025/07/04 14:23:43 [INFO ] Sources : [Guests: /folder/jellyfinmedia/Filebrowser folder: /folder/jellyfinmedia]
2025/07/04 14:23:43 [INFO ] Media Enabled : true
2025/07/04 14:23:43 [INFO ] MuPDF Enabled : true
2025/07/04 14:23:43 [INFO ] Running at : http://localhost/
2025/07/04 14:23:44 [INFO ] initializing index: [Guests]
2025/07/04 14:23:44 [INFO ] initializing index: [folder]
2025/07/04 14:23:44 [INFO ] Index assessment : [Guests] complexity=simple directories=10 files=62
2025/07/04 14:23:44 [INFO ] Index assessment : [folder] complexity=simple directories=53 files=725
2025/07/04 14:43:33 GET | 200 | 172.18.0.7:53444 | admin@exam.. | 2ms | "/api/resources?path=%2FFilebrowser%2F&source=folder"
2025/07/04 14:43:33 POST | 200 | 172.18.0.7:53444 | admin@exam.. | 0ms | "/api/auth/renew"
2025/07/04 14:43:36 GET | 200 | 172.18.0.7:53444 | admin@exam.. | 3ms | "/api/resources?path=%2FFilebrowser%2FOffice%2F&source=folder"
2025/07/04 14:43:40 GET | 500 | 172.18.0.7:53444 | admin@exam.. | 4075ms | "/api/preview?path=%2FFilebrowser%2FOffice%2Ftest.doc&key=1234567898765&source=folder&inline=true"
2025/07/04 14:43:43 GET | 500 | 172.18.0.7:53452 | admin@exam.. | 7079ms | "/api/preview?path=%2FFilebrowser%2FOffice%2Ftest1.doc&key=1234567898765&source=folder&inline=true"
2025/07/04 14:43:51 GET | 200 | 172.18.0.7:53452 | admin@exam.. | 3ms | "/api/resources?path=%2FFilebrowser%2FOffice%2Ftest1.doc&source=folder"
2025/07/04 14:43:51 GET | 200 | 172.18.0.7:53452 | admin@exam.. | 1ms | "/api/resources?path=%2FFilebrowser%2FOffice%2Ftest1.doc&source=folder&content=true"
2025/07/04 14:43:51 GET | 200 | 172.18.0.7:53452 | admin@exam.. | 1ms | "/api/onlyoffice/config?url=https://filebrowser.example.com/api/raw?files=folder::%2FFilebrowser%2FOffice%2Ftest1.doc"
2025/07/04 14:43:52 POST | 200 | 172.18.0.7:53452 | admin@exam.. | 0ms | "/api/onlyoffice/callback?path=folder::/Filebrowser/Office/test1.doc&auth=(long auth key value trunicated)"
2025/07/04 14:43:52 GET | 200 | 172.18.0.7:53452 | admin@exam.. | 0ms | "/api/raw?files=folder::/Filebrowser/Office/test1.doc&auth= (long auth key value trunicated)"
2025/07/04 14:43:55 GET | 200 | 172.18.0.7:53452 | N/A | 0ms | "/files/folder/Filebrowser/Office"
2025/07/04 14:43:55 POST | 200 | 172.18.0.7:53444 | admin@exam.. | 0ms | "/api/onlyoffice/callback?path=folder::/Filebrowser/Office/test1.doc&auth=(long auth key value trunicated)"
2025/07/04 14:43:55 GET | 200 | 172.18.0.7:53444 | admin@exam.. | 0ms | "/api/users?id=self"
2025/07/04 14:43:55 GET | 200 | 172.18.0.7:53444 | admin@exam.. | 2ms | "/api/resources?path=%2FFilebrowser%2FOffice&source=folder"
2025/07/04 14:43:55 GET | 200 | 172.18.0.7:53444 | admin@exam.. | 1ms | "/api/jobs/status/sources"
2025/07/04 14:43:59 GET | 500 | 172.18.0.7:53444 | admin@exam.. | 4027ms | "/api/preview?path=%2FFilebrowser%2FOffice%2Ftest.doc&key=1234567898765&source=folder&inline=true"
2025/07/04 14:44:02 GET | 500 | 172.18.0.7:42296 | admin@exam.. | 7035ms | "/api/preview?path=%2FFilebrowser%2FOffice%2Ftest1.doc&key=1234567898765&source=folder&inline=true"
user@server1:/docker/containers/filebrowser$
Additional context
filebrowser docker compose yaml file:
services:
filebrowser:
image: gtstef/filebrowser:0.7.11-beta
container_name: filebrowser
volumes:
- '/media/mediastore/desktop:/folder'
- '/docker/containers/filebrowser/database:/home/filebrowser/database'
- '/docker/containers/filebrowser/config/config.yaml:/home/filebrowser/config.yaml'
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.filebrowser.rule=Host(`filebrowser.example.com`)'
- 'traefik.http.routers.filebrowser.entrypoints=websecure'
- 'traefik.http.routers.filebrowser.tls=true'
- 'traefik.http.routers.filebrowser.tls.certresolver=cloudflare'
- 'traefik.http.services.filebrowser.loadbalancer.server.port=80'
networks:
- frontend
restart: unless-stopped
networks:
frontend:
external: true
volumes:
database:
driver: local
config:
driver: local
folder:
driver: local
filebrowser config.yaml file:
server:
port: 80
baseURL: "/"
database: "database/database.db"
sources:
- path: "/folder/jellyfinmedia"
name: folder
- path: "/folder/jellyfinmedia/Filebrowser"
name: Guests
config:
defaultUserScope: "/guests"
defaultEnabled: true
auth:
methods:
noauth: false
password:
enabled: true
minLength: 5
signup: false
oidc:
enabled: true
clientId: "ClientID authentik value here"
clientSecret: "clientSecret authentik value here"
issuerUrl: "https://auth.example.com/application/o/filebrowser/"
scopes: "email openid profile"
userIdentifier: "email"
disableVerifyTLS: false
logoutRedirectUrl: "https://auth.example.com/application/o/filebrowser/end-session/"
createUser: true
adminGroup: "admin"
userDefaults:
preview:
image: true
popup: true
video: false
office: true
highQuality: false
darkMode: true
singleClick: true
permissions:
admin: false
api: false
loginMethod: oidc
integrations:
office:
url: "https://office.example.com"
secret: jwtkeyvaluehere
How to reproduce?
Have filebrowser and onlyoffice installed. Utilize traefik as reverse proxy for both.
I included all of the compose file for the service to show how my system is configured.
Onlyoffice is deployed using the following compose.yaml deployment:
services:
onlyoffice-documentserver:
build:
context: .
image: onlyoffice/documentserver
container_name: onlyoffice-documentserver
depends_on:
- onlyoffice-postgresql
- onlyoffice-rabbitmq
environment:
- DB_TYPE=postgres
- DB_HOST=onlyoffice-postgresql
- DB_PORT=5432
- DB_NAME=onlyoffice
- DB_USER=onlyoffice
- AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq
- JWT_ENABLED=true
- JWT_SECRET=jwtkeyvaluehere
- JWT_HEADER=Authorization
- JWT_IN_BODY=true
labels:
- "traefik.enable=true"
- "traefik.http.routers.onlyoffice.rule=Host(`office.example.com`)"
- "traefik.http.routers.onlyoffice.entrypoints=websecure"
- "traefik.http.routers.onlyoffice.tls.certresolver=cloudflare"
- "traefik.http.routers.onlyoffice.service=onlyoffice"
- "traefik.http.services.onlyoffice.loadbalancer.server.port=80"
- "traefik.http.routers.onlyoffice.middlewares=onlyoffice-headers"
- "traefik.http.middlewares.onlyoffice-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.onlyoffice-headers.headers.accessControlAllowOriginList=*"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/info/info.json"]
interval: 30s
retries: 5
start_period: 60s
timeout: 10s
stdin_open: true
restart: always
stop_grace_period: 60s
volumes:
- /docker/containers/onlyoffice/Docker-DocumentServer/data:/var/www/onlyoffice/Data
- /docker/containers/onlyoffice/Docker-DocumentServer/logs:/var/log/onlyoffice
- /docker/containers/onlyoffice/Docker-DocumentServer/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
- /docker/containers/onlyoffice/Docker-DocumentServer/public:/var/www/onlyoffice/documentserver-example/public/files
- /docker/containers/onlyoffice/Docker-DocumentServer/fonts:/usr/share/fonts
networks:
- frontend
- backend
onlyoffice-rabbitmq:
container_name: onlyoffice-rabbitmq
image: rabbitmq:3
restart: always
expose:
- '5672'
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "status"]
interval: 10s
retries: 3
start_period: 10s
timeout: 10s
networks:
- backend
onlyoffice-postgresql:
container_name: onlyoffice-postgresql
image: postgres:15
environment:
- POSTGRES_DB=onlyoffice
- POSTGRES_USER=onlyoffice
- POSTGRES_HOST_AUTH_METHOD=trust
restart: always
expose:
- '5432'
volumes:
- /docker/containers/onlyoffice/Docker-DocumentServer/postgresql/db:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U onlyoffice"]
interval: 10s
retries: 3
start_period: 10s
timeout: 10s
networks:
- backend
certdumper:
image: ghcr.io/kereis/traefik-certs-dumper:1.8.7
container_name: certdumper
networks:
- backend
command: --restart-containers onlyoffice-documentserver
volumes:
- /docker/containers/traefik/certs:/docker/containers/traefik/certs:ro
- /docker/containers/onlyoffice/Docker-DocumentServer/data/certs:/output:rw
environment:
- DOMAIN=office.example.com
- DOCKER_HOST=tcp://socket-proxy:2375
- ACME_FILE_PATH=/docker/containers/traefik/certs/cloudflare-acme.json
depends_on:
socket-proxy:
condition: service_healthy
restart: unless-stopped
socket-proxy:
image: linuxserver/socket-proxy:3.2.1
container_name: socket-proxy
networks:
- backend
environment:
- ALLOW_START=1
- ALLOW_STOP=1
- ALLOW_RESTARTS=1
- CONTAINERS=1
- EVENTS=1
- PING=1
- VERSION=1
- LOG_LEVEL=info
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
read_only: true
tmpfs:
- /run
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:2375/version"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
postgresql_data:
driver: local
networks:
frontend:
external: true
backend:
external: true
Files
Thank you for working on this amazing project and the help in figuring out what is going wrong.
Metadata
Metadata
Assignees
Labels
Projects
Status