Complete setup for running FileBrowser Quantum with OnlyOffice using Docker Compose on your local network.

Prerequisites

  • Docker and Docker Compose installed
  • Basic understanding of Docker networking
  • FileBrowser Quantum image: gtstef/filebrowser

Quick Start

Step 1: Generate JWT Secret

First, generate a strong secret for securing communication between FileBrowser and OnlyOffice:

BASH
1
2
3
4
5
# Method 1: Using OpenSSL
openssl rand -base64 32

# Example output:
# TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue

Step 2: Create Docker Compose File

Create a docker-compose.yml file:

YAML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
services:
  filebrowser:
    image: gtstef/filebrowser:latest
    ports:
      - "8080:80"
    environment:
      FILEBROWSER_CONFIG: "/home/filebrowser/data/config.yaml"
    volumes:
      - ./data:/home/filebrowser/data
      - ./:/srv # Replace "./" with your file path, but leave ":/srv" on the right side
    restart: unless-stopped

  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    ports:
      - "80:80"
    environment:
      - JWT_SECRET=TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue  # Replace with your secret
    restart: unless-stopped

Step 3: Create FileBrowser Configuration

Create a data directory and add a new config.yaml file in the same directory:

BASH
1
mkdir data && touch data/config.yaml

Then populate the config

YAML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
server:
  port: 80
  database: data/database.db
  internalUrl: "http://filebrowser" # the filebrowser container name
  sources:
    - name: "files"
      path: "/srv" # the docker volume for the source info
      config:
        defaultEnabled: true

auth:
  adminPassword: yourpassword

integrations:
  office:
    url: "http://localhost"  # OnlyOffice accessible from browser
    internalUrl: "http://onlyoffice" # this is the container name for only office docker service
    secret: "TevrjpRNMmKC0JxAwY7iZ2VXLrvG1gue"  # Same secret as OnlyOffice
    viewOnly: false

userDefaults:
  permissions:
    api: false
    admin: false
    modify: false
    share: false
    realtime: false
    delete: false
    create: false
    download: true
  disableOnlyOfficeExt: ".md .txt .pdf"   # list of file extensions to disable onlyoffice editor for

Step 4: Start Services

BASH
1
docker-compose up -d

Wait for OnlyOffice to fully start (takes 30-60 seconds on first run).

Step 5: Verify Installation

If you are running docker compose on something like WSL or your local machine, you should be able to access http://localhost and see only office is ready

office

Or check via terminal:

Check OnlyOffice Health:

BASH
1
2
3
4
5
# Should return {"status":"ok"}
curl http://localhost/healthcheck

# Check welcome page
curl http://localhost/welcome

Check FileBrowser:

  1. Open browser and navigate to http://localhost:8080
  2. Login with default credentials (admin/yourpassword)
  3. Upload a test document (.docx, .xlsx, or .pptx)
  4. Click on the document to preview - should open in OnlyOffice editor

You should see something like this:

office-editor

Disable Editing

In FileBrowser user settings or config:

YAML
1
2
3
integrations:
  office:
    viewOnly: true

Next Steps

Additional Resources