Solutions for common OnlyOffice integration problems including connectivity, authentication, and document opening issues.

The easiest way to troubleshoot OnlyOffice issues is to use the built-in debug mode:

Enable Debug Mode:

  1. Navigate to Profile SettingsFile Viewer Options
  2. Toggle “Debug OnlyOffice Editor” to ON
  3. Open any document with OnlyOffice
  4. View the debug tooltip that appears automatically

Debug Mode Tooltip

What Debug Mode Shows

The debug tooltip provides:

  • Real-time trace of the integration process
  • Network flow analysis between components
  • Configuration details including URLs and domains
  • Specific error detection with troubleshooting advice
  • Connectivity testing to OnlyOffice server

Network Flow Diagram

File System(Storage)OnlyOffice Server(Document Server)FileBrowser API(Go Backend)Frontend(Vue Component)File System(Storage)OnlyOffice Server(Document Server)FileBrowser API(Go Backend)Frontend(Vue Component)OnlyOffice Integration FlowClean parameters insteadof complex URL parsing/api/raw or /public/api/rawwith auth tokenOnlyOffice JavaScript APIUser edits document in browserStatus codes:2=closed with changes4=closed no changes6=force savealt[Document has changes]GET /api/onlyoffice/config?source=X&path=Y[&hash=Z]Validate parameters(source, path, hash)Resolve file scope& check permissionsGet file info & generatedocument IDFile metadataBuild download URL& callback URL internallyOnlyOffice client config(includes download & callback URLs)Initialize document editorwith configGET download URL(to fetch file content)Read file contentFile dataFile content(with rate limiting if configured)POST /api/onlyoffice/callback?source=X&path=Y[&hash=Z](document changes)Include updated document URLin callback payloadDownload updated documentUpdated file contentSave updated fileSave confirmationClean up document ID(if document closed)Success response{"error": 0}

The diagram shows the communication flow:

  1. BrowserOnlyOffice Server: Editor interface
  2. OnlyOfficeFileBrowser (download URL): Fetches document
  3. OnlyOfficeFileBrowser (callback URL): Saves changes

Quick Diagnostics

Verify OnlyOffice is Running

# Check health endpoint
curl http://localhost/healthcheck

# Expected response:
{"status":"ok"}

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

Test Network Connectivity

From FileBrowser container:

# Test connection to OnlyOffice
docker exec filebrowser curl http://onlyoffice/healthcheck

Check Browser Console

Open browser developer tools (F12) and look for:

Successful Config:

OnlyOffice config request: source=downloads, path=/doc.docx, isShare=false
OnlyOffice: built download URL=http://localhost:8080/api/raw?...
OnlyOffice: successfully generated config for file=doc.docx

Successful Save:

OnlyOffice callback: source=downloads, path=/doc.docx, status=2
OnlyOffice: successfully saved updated document

Common Issues

OnlyOffice Server Not Found

Solutions:

Verify OnlyOffice is running:

# Check Docker container status
docker ps | grep onlyoffice

# Check service health
curl http://localhost:80/healthcheck

Expected response:

{"status":"ok"}

If not running, start OnlyOffice:

docker-compose up -d onlyoffice

FileBrowser needs correct URLs:

integrations:
  office:
    url: "http://onlyoffice.yourdomain.com"       # Must be accessible from browser
    secret: "your-jwt-secret"

Test the URL from your browser: Navigate to the OnlyOffice URL - you should see a welcome page.

JWT Authentication Errors

Step 1: Generate JWT Secret

Create a strong random secret:

# Generate 32-byte base64 secret
openssl rand -base64 32

# Or use uuidgen
uuidgen

Step 2: Configure FileBrowser

integrations:
  office:
    url: "http://onlyoffice"
    secret: "your-generated-secret"  # Use the secret from Step 1

Step 3: Configure OnlyOffice

onlyoffice:
  environment:
    - JWT_ENABLED=true
    - JWT_SECRET=your-generated-secret  # MUST match FileBrowser exactly
    - JWT_HEADER=Authorization

Documents Won’t Open

Solutions:

1. Check File Format Support

OnlyOffice supports these formats:

Document TypeSupported Formats
Documents.doc, .docm, .docx, .dot, .dotm, .dotx, .epub, .fb2, .fodt, .htm, .html, .mht, .odt, .ott, .rtf, .txt, .xml
Spreadsheets.csv, .et, .ett, .fods, .ods, .ots, .sxc, .xls, .xlsb, .xlsm, .xlsx, .xlt, .xltm, .xltx
Presentations.dps, .dpt, .fodp, .odp, .otp, .pot, .potm, .potx, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .sxi
Other.djvu, .docxf, .oform, .oxps, .pdf, .xps

2. Verify File Permissions

# Check file permissions
ls -l /path/to/document.docx

# FileBrowser user must have read access
-rw-r--r-- 1 user group 12345 date document.docx

3. Check File Size Limits

Large files may timeout. Increase limits:

onlyoffice:
  environment:
    - MAX_FILE_SIZE=100  # MB

4. Review Logs

# FileBrowser logs
docker logs filebrowser --tail 100

# OnlyOffice logs
docker logs onlyoffice --tail 100

# Follow logs in real-time
docker-compose logs -f

HTTPS and SSL/TLS Issues

OnlyOffice does not work with HTTPS out of the box when behind a reverse proxy. You need proper SSL configuration.

Advanced Configuration

External and Internal URLs

server:
  externalUrl: "https://files.yourdomain.com"  # Accessible from browser
  internalUrl: "http://filebrowser:80"         # Accessible from OnlyOffice container

integrations:
  office:
    url: "https://office.yourdomain.com"       # Accessible from browser
    internalUrl: "https://files.yourdomain.com" # For OnlyOffice → FileBrowser callbacks
    secret: "your-jwt-secret"

Why two URLs?

  • Browser → OnlyOffice: Uses integrations.office.url
  • OnlyOffice → FileBrowser: Uses internalUrl for downloading/saving files
  • Internal URLs can use Docker service names for better performance

Performance Issues

Slow Document Loading

Solutions:

1. Increase OnlyOffice Resources

onlyoffice:
  deploy:
    resources:
      limits:
        memory: 4G
        cpus: '2.0'
      reservations:
        memory: 2G
        cpus: '1.0'

2. Use Persistent Storage

onlyoffice:
  volumes:
    - onlyoffice_data:/var/www/onlyoffice/Data
    - onlyoffice_logs:/var/log/onlyoffice

volumes:
  onlyoffice_data:
  onlyoffice_logs:

3. Optimize Timeouts

# Traefik
serversTransport:
  forwardingTimeouts:
    dialTimeout: "60s"
    responseHeaderTimeout: "75s"
    idleConnTimeout: "90s"

# nginx
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;

Connection Timeouts

Check and increase timeouts at multiple levels:

Traefik:

http:
  serversTransports:
    default:
      forwardingTimeouts:
        dialTimeout: "30s"
        responseHeaderTimeout: "60s"
        idleConnTimeout: "90s"

OnlyOffice:

environment:
  - TIMEOUT=300

Test Network Latency:

# Test response time
time curl http://onlyoffice/healthcheck

# Check network path
docker exec filebrowser ping onlyoffice

Troubleshooting Checklist

Use this checklist when debugging OnlyOffice issues:

  • Enable debug mode in FileBrowser profile settings
  • Check OnlyOffice is running: docker ps | grep onlyoffice
  • Verify health endpoint: curl http://onlyoffice/healthcheck
  • Test from browser: Navigate to OnlyOffice URL, see welcome page
  • Check JWT secrets match in both configurations
  • Verify network connectivity between containers
  • Check browser console for JavaScript errors
  • Review logs from both FileBrowser and OnlyOffice
  • Verify file format is supported
  • Check file permissions and size limits
  • Test with HTTPS disabled (if using SSL)
  • Verify externalUrl and internalUrl are set correctly

Getting Help

Gather Information

When asking for help, provide:

  1. FileBrowser version:
docker exec filebrowser ./filebrowser version
  1. OnlyOffice version:
docker exec onlyoffice /var/www/onlyoffice/documentserver/npm/json -f /var/www/onlyoffice/documentserver/package.json version
  1. Configuration (sanitized - remove secrets):
integrations:
  office:
    url: "https://office.example.com"
    secret: "REDACTED"
  1. Logs:
docker logs onlyoffice --tail 100
docker logs filebrowser --tail 100
  1. Debug mode output (screenshot from browser)

  2. Browser console errors (F12 → Console tab)

Test OnlyOffice Independently

Verify OnlyOffice works standalone:

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

# Should return HTML with OnlyOffice welcome page

Enable Verbose Logging

onlyoffice:
  environment:
    - LOG_LEVEL=DEBUG

Community Resources

Next Steps