ReboFilesDocs
Start3
What is ReboFiles
Getting started
Demos to run
Put it in your app6
React component
Headless: your own UI
Without a framework
Styling and themes
Keyboard and accessibility
Languages
Files9
Uploads
Previews and the viewer
Search
Live changes and large folders
Comments
Starred and fields
Versions, trash and space
Download as .zip
Word documents
The server14
The route
Frameworks and sign-in
Who may do what
Storage: S3, GCS, Azure and disk
Checking uploads
Metadata: SQLite and Postgres
Database schema
Sharing and links
Activity and notifications
Hooks, logs and limits
Retention, holds and export
Desktop and other origins
Sync a folder
Going to production
Together1
AI assistants (MCP)
Reference5
Packages
Components and hooks
Client API
HTTP routes
Status and roadmap
↑↓ to move↵ to openEsc to close38 pages

Files Search

Search

One box finds by name first, then by what is written in a file. Every word, in any case, with or without accents: “cancion” finds “Canción”.
Names

By name

Every word somewhere in the name; one that starts with what was typed first. In the trash, the trash is searched instead.

Text

By what is written

As a file is uploaded, the page reads its text and sends it after it, kept with the version it is of.

  • Text files by their type or their name: the first 2 MiB.
  • Word documents with textDocument={textOfDocx}, by Rebodocs’ engine; Excel workbooks by their cells.
  • PDFs, pictures and scans by the server, with derive and ocr().
  • The first 100,000 characters are kept; a new version without text of its own is not found by the old one’s.

The rows found so show a piece of the text around the words, under their name.

Store

Where it is kept

SQLite keeps the texts in a table of its full-text search (FTS5), Postgres with a tsvector and a GIN index; a store without either, in the memory of the process. The server looks at what the store found again, so every store finds the same.