Filestash

AGPL-3.0
Platform
Web Linux Docker
Licence
AGPL-3.0 Open source
Filestash

Filestash is a self-hosted web file manager that puts one browser interface in front of storage you already own. Started in 2017 as a Dropbox-like front end for every protocol, it speaks SFTP, S3, SMB, WebDAV, FTP, NFS, IPFS and Git directly, and reaches accounts such as Dropbox, Google Drive, Azure and SharePoint through the same panel. Point it at a server, a bucket or a share and the contents appear in a folder tree with previews, search and sharing rules, without moving the files into a proprietary store first.

One client, many backends

The storage layer is an interface, not a hardcoded integration: list, stat, read, write, move and remove are the six operations a backend has to implement, and everything above them, from the folder tree to thumbnails to public links, is the same code whichever storage is behind it. The practical effect is that a team can keep its files on a NAS over SMB, on an S3 bucket and on a web host over SFTP, and hand out a single URL that behaves identically for all three. Multiple storages can be connected side by side and each user sees only what their authorisation rules allow.

Previews and editing in the browser

  • Documents, spreadsheets and presentations open for viewing and collaborative editing through the built-in office integration instead of being downloaded first.
  • Images, audio, video, PDFs, archives and even 3D models preview in place; the list of recognised extensions runs from the usual formats to CAD, embroidery and biomedical files through dedicated preview plugins.
  • Text and code files open in an editor with syntax highlighting, and Markdown has a rendered view alongside the source.
  • Search, tags, public share links with expiry, file versioning, quotas and audit logging are available as features that can be switched on per deployment rather than bolted on afterwards.

Everything is a plugin

The project’s stated rule is that anything which is not a fundamental truth of the universe lives in a plugin, so storage backends, authentication methods, authorisation rules, previewers, middleware and even front-end changes are replaceable. Historically plugins were written in Go and compiled in. Today they can also be dropped in as runtime plugins: a zip that reshapes the interface and can carry WebAssembly implementing the same core interfaces, running in a sandbox that has no network access unless a host is declared. For teams with unusual requirements that is the difference between adopting the tool and rewriting it.

Deployment

Filestash ships as a statically compiled Go binary of roughly 13 MB with no external dependencies and no libc requirement, which makes it deployable on a small VPS, a Raspberry Pi or inside a container image. On first start it listens on port 8334 and asks for an administrator password; from there it is normally placed behind a reverse proxy with TLS, and authentication can be delegated to an identity provider or an existing directory rather than kept local. Because the binary holds no state of its own beyond configuration, the files stay where they are, readable by rsync, Samba or a backup agent even with Filestash switched off.

Who it is for

Filestash suits anyone who has accumulated storage in several places and wants one consistent way to reach it from a browser, share a folder with someone outside the network, or give a colleague read access to a specific directory without handing over credentials to the underlying server. Commercial support contracts are offered; the code itself is published under the AGPL and developed in the open.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.