Open source · MIT · Single binary

The self-hosted file manager
that embeds anywhere

A single Go binary with a polished web UI, pluggable storage, real-time collaboration, an embeddable web component — and a built-in MCP server so AI agents can drive it natively.

$ docker run -p 5212:5212 -v $(pwd)/data:/data ghcr.io/brf-tech/filex:latest

Demo sign-in: demo@demo.com / demo — full admin, resets nightly.

filex explorer with image thumbnails

Not another directory listing

Most self-hosted file managers are either too small or part of a heavy groupware suite. filex fills the gap — production features, zero bloat.

🧩

Embeds in your product

The full UI ships as a Vue 3 component, a React component and a framework-agnostic <filex-explorer> web component. Confined API tokens keep every tenant locked to its own folder — enforced by the backend, not the widget.

🤖

AI-agent native (MCP)

A built-in Model Context Protocol server plus a token-scoped REST surface. Hand an agent a token confined to one folder: it can list, read, write, share and zip — nothing else. Full audit trail per integration.

Real-time collaboration

Presence avatars, live file updates and focus-follow over WebSocket — in the native UI and in embedded contexts, with automatic polling fallback.

🗄️

5 storage drivers

Local disk, S3, SFTP, WebDAV, FTP — mount many at once, each as a top-level folder. DB-backed listings answer in milliseconds; ETag-diff sync catches out-of-band changes.

🔐

RBAC & sharing

Roles, per-item grants with inheritance, share invites by e-mail. Public links with PIN, expiry and download caps; folder links stream as ZIP; file-request upload links for inbound drops.

📦

Boringly deployable

One binary or one container. SQLite by default — Postgres, MySQL and Redis when you want them. OIDC / LDAP / proxy-header auth. Compose stacks and a Helm chart included.

Up and running in a minute

Run it, open the admin UI, add a storage. That's the whole setup.

Docker

# one-off try-out
docker run -p 5212:5212 -v $(pwd)/data:/data \
  ghcr.io/brf-tech/filex:latest

# first run prints the admin credentials
open http://localhost:5212/admin

Docker Compose

services:
  filex:
    image: ghcr.io/brf-tech/filex:latest
    ports: ["5212:5212"]
    volumes:
      - ./data:/data
      - ./storages:/storages
    environment:
      FILEX_PUBLIC_URL: https://files.example.com

Embed the component

<script type="module"
  src="https://cdn.jsdelivr.net/npm/@brftech/filex/dist/filex.js"></script>

<filex-explorer api-base="https://files.example.com">
</filex-explorer>

Connect an AI agent

claude mcp add filex --transport http \
  https://files.example.com/api/ai/mcp \
  --header "Authorization: Bearer <token>"

A real UI, not an afterthought

Thumbnails, viewers and editors for images, video, PDF, Markdown, CSV, code (Monaco), Office (via OnlyOffice), diagrams and 3D models. Light and dark, EN/TR.

Share modal with PIN and expiry
Share links — PIN, expiry, download caps
Markdown split editor and preview
Markdown split editor + live preview
Admin dashboard
Admin panel — storages, users, queue, audit

Open source, MIT licensed

Built and battle-tested in production at BRF Tech — powering multi-tenant platforms with per-project isolation.