MCPcopy
hub / github.com/gtsteffaniak/filebrowser

github.com/gtsteffaniak/filebrowser @v1.4.0-stable sqlite

repository ↗ · DeepWiki ↗ · release v1.4.0-stable ↗
1,885 symbols 6,131 edges 302 files 906 documented · 48%
README

Go Report Card Codacy Badge latest version DockerHub Pulls Apache-2.0 License

Donate


FileBrowser Quantum

The best free self-hosted web-based file manager.

Pinned

:loudspeaker: New Announcement

:pushpin: Read The Official Docs (currently english-only)

About

FileBrowser Quantum provides an easy way to access and manage your files from the web. It has a modern responsive interface that has many advanced features to manage users, access, sharing, and file preview and editing.

This version is called "Quantum" because it packs tons of advanced features into a tiny and easy-to-run file. Unlike the majority of alternative options, FileBrowser Quantum is simple to install and easy to configure.

The goal for this repo is to become the best open-source self-hosted file browsing application that exists -- all for free. This repo will always be free and open-source.

Ready to try it out? See Getting Started Docs.

How its different

FileBrowser Quantum is a massive fork of the file browser open-source project with the following changes:

  1. ✅ Better source configuration - multiple sources, include/exclude rules, and more
  2. ✅ Login support for OIDC, LDAP, JWT, password + 2FA, and proxy.
  3. ✅ Beautiful, Responsive, and Customizable user interface.
  4. ✅ Streamlined configuration via config.yaml config file.
  5. ✅ Ultra-efficient Sqlite indexing
    • Real-time search results as you type.
    • Real-time monitoring and updates in the UI.
    • Search supports file and folder sizes, along with various filters.
  6. ✅ Better listing browsing
    • Better thumbnail support including office, video, and album artwork, and 3D models.
    • Faster and more responsive views with animations.
    • Folder sizes are displayed and support thumbnails
    • Navigating remembers the last scroll position.
  7. ✅ Highly configurable and customizable sharing options
    • share expiration time
    • users who can access share (including anonymous)
    • styling and themes
    • file viewing, editing, and uploading permissions
  8. ✅ Directory-level access control that can be scoped to user or group.
  9. ✅ Developer API support
    • Ability to create long-lived API Tokens.
    • A helpful Swagger page is available at /swagger endpoint for API enabled users.

Notable features that this fork does not have (removed): - ❌ shell commands are completely removed and will not be returned.

FileBrowser Quantum differs significantly from the original version. Many of these changes required a significant overhaul. Creating a fork was a necessary process to make the program better. There have been many growing pains, but a stable release is planned and coming soon.

The UI

The UI has a simple three-component navigation system:

  1. (Left) Multi-action button with slide-out panel.
  2. (Middle) The powerful search bar.
  3. (Right) The view change toggle.

All other functions are moved either into the action menu or pop-up menus. If the action does not depend on context, it will exist in the slide-out action panel. If the action is available based on context, it will show up as a pop-up menu.

Official Docs

See the Official Docs. Contributions are welcome and encouraged! See FilebrowserDocs Github.

Comparison Chart

Application Name | Quantum | Filebrowser | Filestash | Nextcloud | Google_Drive | FileRun --- | --- | --- | --- | --- | --- | --- | Filesystem support | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | Linux | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | Windows | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | Mac | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | Self hostable | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | Has Stable Release? | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | S3 support | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | webdav support | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | FTP support | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | Dedicated docs site? | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | Multiple sources at once | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | Docker image size | 180 MB (with ffmpeg) | 31 MB | 240 MB (main image) | 250 MB | ❌ | > 2 GB | Min. Memory Requirements | 512 MB | 128 MB | 128 MB (main image) | 512 MB | ❌ | 512 MB | has standalone binary | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | price | free | free | free | free tier | free tier | $99+ | rich media preview | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Upload files from the web? | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Advanced Search? | ✅ | ❌ | ✅ | configurable | ✅ | ✅ | Indexed Search? | ✅ | ❌ | ✅ | configurable | ✅ | ✅ | Content-aware search? | ❌ | ❌ | ✅ | configurable | ✅ | ✅ | Custom job support | :construction: | ✅ | ✅ | ✅ | ❌ | ✅ | Multiple users | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Single sign-on support | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | LDAP sign-on support | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | Long-live API key support | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | API documentation page | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | Mobile App | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | open source? | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | tags support | :construction: | ❌ | ✅ | ✅ | ❌ | ✅ | shareable web links? | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Event-based notifications | :construction: | ❌ | ✅ | ❌ | ❌ | ✅ | Metrics | :construction: | ❌ | ✅ | ❌ | ❌ | ❌ | file space quotas | :construction: | ❌ | ✅ | ❌ | ✅ | ✅ | text-based files editor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Office file support | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | Office file previews | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | Themes | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | Branding support | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | activity log | :construction: | ❌ | ✅ | ✅ | ✅ | ✅ | Comments support | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | trash support | :construction: | ❌ | ✅ | ✅ | ✅ | ✅ | Starred/pinned files | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | Chromecast support | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | Share collections of files | :construction: | ❌ | ❌ | ❌ | ❌ | ✅ | Can archive selected files | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | Can browse archive files | :construction: | ❌ | ✅ | ❌ | ❌ | ✅ | Can convert documents | :construction: | ❌ | ✅ | ❌ | ❌ | ✅ | Can convert videos | :construction: | ❌ | ✅ | ❌ | ❌ | ❌ | Can convert photos | :construction: | ❌ | ✅ | ❌ | ❌ | ❌ |

Extension points exported contracts — how you extend this code

Auther (Interface)
Auther is the authentication interface. [4 implementers]
backend/auth/auth.go
CrudBackend (Interface)
CrudBackend defines the basic CRUD operations for a type T. [3 implementers]
backend/database/crud/crud.go
FileCache (Interface)
(no doc) [2 implementers]
backend/http/preview.go
Interface (Interface)
(no doc) [2 implementers]
backend/adapters/fs/diskcache/cache.go
StorageBackend (Interface)
StorageBackend is a settings storage backend.
backend/common/settings/storage.go
ReqObject (Interface)
(no doc)
frontend/src/store/types.ts
StorageBackend (Interface)
StorageBackend is a storage backend for auth storage.
backend/auth/storage.go
Store (Interface)
Store is an interface for user storage. [1 implementers]
backend/database/users/storage.go

Core symbols most depended-on inside this repo

Get
called by 235
backend/database/users/storage.go
Query
called by 166
backend/database/sql/sqlite.go
Close
called by 113
backend/database/sql/sqlite.go
Set
called by 111
backend/adapters/fs/diskcache/file_cache.go
Permitted
called by 97
backend/database/access/access.go
emitStateChanged
called by 78
frontend/src/store/eventBus.js
getApiPath
called by 69
frontend/src/utils/url.js
Stat
called by 64
backend/http/webdav.go

Shape

Function 1,128
Method 529
Struct 184
TypeAlias 20
Interface 16
Class 6
FuncType 2

Languages

Go84%
TypeScript16%

Modules by API surface

backend/indexing/indexingFiles.go70 symbols
backend/database/access/access.go57 symbols
backend/database/sql/index.go41 symbols
backend/http/middleware.go39 symbols
backend/database/share/storage.go38 symbols
backend/common/settings/structs.go35 symbols
frontend/src/api/resources.js32 symbols
backend/database/users/storage.go31 symbols
backend/database/access/access_test.go31 symbols
frontend/src/utils/upload.js30 symbols
backend/http/archive.go29 symbols
backend/preview/preview.go27 symbols

Dependencies from manifests, versioned

4d63.com/gocheckcompilerdirectivesv1.3.0 · 1×
4d63.com/gochecknoglobalsv0.2.2 · 1×
charm.land/lipgloss/v2v2.0.3 · 1×
codeberg.org/chavacava/garifv0.2.0 · 1×
codeberg.org/polyfloyd/go-errorlintv1.9.0 · 1×
dario.cat/mergov1.0.2 · 1×
dev.gaijin.team/go/exhaustruct/v4v4.0.0 · 1×
dev.gaijin.team/go/golibv0.6.0 · 1×
github.com/4meepo/tagalignv1.4.3 · 1×
github.com/Abirdcfly/dupwordv0.1.7 · 1×
github.com/AdminBenni/iota-mixingv1.0.0 · 1×
github.com/AlwxSin/noinlineerrv1.0.5 · 1×

For agents

$ claude mcp add filebrowser \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact