Skip to content

Office Support

Graham Steffaniak edited this page Jun 14, 2025 · 25 revisions

FileBrowser Quantum has multiple levels of office file support. If you want to edit documents, that is supported but requires additional configuration and services.

By default:

  • image preview support for certain files.
  • basic docx and epub viewer

With office integration configured:

  • a wider range of image preview file types
  • full office editor and collaboration features.

The later requires an "onlyoffice" service running somewhere that you have access to.

What Office files are supported for viewing?

The following office files can be opened, edited, saved, etc from inside filebrowser quantum:

Word Processing Documents

.doc, .docm, .docx, .dot, .dotm, .dotx, .epub, .fb2, .fodt, .htm, .html, .mht, .mhtml,
.odt, .ott, .rtf, .stw, .sxw, .txt, .wps, .wpt, .xml

Spreadsheet Documents

.csv, .et, .ett, .fods, .ods, .ots, .sxc, .xls, .xlsb, .xlsm, .xlsx, .xlt, .xltm, .xltx

Presentation Documents

.dps, .dpt, .fodp, .odp, .otp, .pot, .potm, .potx, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .sxi

Other Office-Related Formats

.djvu, .docxf, .oform, .oxps, .pdf, .xps

Office documents with preview support

If you have only office running and the integration added, the preview support is the same as file support.

However, if you are using the main docker image without any only office integration, the following filetypes will get previews:

  • supported native document preview types:
    • ".pdf", // PDF
    • ".xps", // XPS
    • ".epub", // EPUB
    • ".mobi", // MOBI
    • ".fb2", // FB2
    • ".cbz", // CBZ
    • ".svg", // SVG
    • ".txt", // any text files
    • ".docx", // DOCX
    • ".ppt", // PPT
    • ".pptx", // PPTX
    • ".xlsx", // excel XLSX
    • ".hwp", // HWP
    • ".hwp", // HWPX

Additional features available

  • ✅ Open and edit office documents
  • ✅ Enable/Disable which files open in onlyoffice in user settings
  • ✅ Create new files from the UI.
  • ✅ Office document previews.
  • (planned) Share individual or collections of office files for non-authenticated users.
  • (planned) rich view-only document viewer without any onlyoffice integration required.

How To enable these Office Features?

In order to use these office features, you need 2 things:

  1. A running only office server that is accessible from both the server and client.
  2. Update the config.yaml to add the integration with the url and jwt secret.

Adding Open office integration for docker

Warning

Never expose an HTTP service like onlyoffice to the internet. Always secure with HTTPS if it is internet-facing. See onlyoffice docs for instructions.

If you are already using docker-compose, the easiest way to run with office support is to add the following next to filebrowser on your docker-compose.yaml

first, you'll need to generate an only office secret:

docker run -d -p 8080:80 --rm --name onlyoffice onlyoffice/documentserver

Wait for the service to come up after a few seconds, then run the following to get a secret

$ docker exec onlyoffice /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue << This is your secret!

Example docker-compose.yaml:

services:
  filebrowser: # your existing service
    volumes:
      - '/path/to/your/files:/srv'
      - './database:/home/filebrowser/database'
      - './config.yaml:/home/filebrowser/config.yaml'
    ports:
      - '80:80'
    image: gtstef/filebrowser
    restart: unless-stopped
  onlyoffice:
    image: onlyoffice/documentserver
    environment:
      JWT_SECRET: TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue # value from the above steps
    ports:
      - '8080:80' # note this is HTTP, insecure, do not expose to internet

With the above configuration you would have a filebrowser server running at port 80 and an onlyoffice server running at port 8080.

Now we need to update the configuration of file so filebrowser can talk to the only office server:

In your config.yaml:

server:
  sources:
    - path: "path/to/files"              # this is your file path, see configuration wiki
  #internalUrl: "http://192.168.1.100/"  # filebrowser internal URL (optional) Gives integrations local network address for faster communication.
integrations:
  office:
    url: "http://<your external IP or FQDN for OpenOffice service>:80"   # eg. a public internet IP/domain
    secret: TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue      # same secret from above

Ok - this is the tricky part, so be careful! The integrations.office.url needs to be externally accessible. localhost will not work! Also, if you plan to use office features from the Internet or external location, the office URL needs to be accessible from the internet.

So, remember the big HTTP warning? You can have this work on your local network or when connected to VPN... but to have your onlyoffice URL available from anywhere, you will need to change this to HTTPS using the guide provided by onlyoffice and expose it to the internet. But I recommend testing this with HTTP endpoint over a local network to make sure it works how you want, then you can update everything to HTTPS with some work.

Now when you do docker compose up -d to start both your services in the background, you should be able to open and edit office files in FileBrowser Quantum!

Adding Open office integration without docker

You can use the docker steps above as a general guide, the process is almost the same. To have this working without docker, you just need to run only office community edition somewhere -- anywhere (could be on the internet), and get the secret and url and set it in the config.yaml.

See only office docs for more help : https://github.com/ONLYOFFICE/DocumentServer

Troubleshooting

If you get an empty preview screen opening a document in FileBrowser Quantum, that likely means the URL was inaccessible or incorrectly set. This might happen if the only office service just started up and is not ready or if you're trying to access filebrowser quantum from some location where you don't have access to the only office URL, you can always try going to the only office URL you gave in your browser, you should see a welcome page!

If you set internalUrl, make sure it is both reachable and includes the base url prefix if you have that set as well.

By checking the onlyoffice server logs, you should see errors related to this if it is the issue.

Clone this wiki locally