File Browser
Lightweight web file manager for a directory
This project is archived. Upstream development has stopped, so expect no new features or security fixes. Consider an actively maintained file sync & storage alternative.
File Browser provides a clean web interface to manage files within a specified directory, supporting upload, download, sharing, and user accounts. It suits users who want simple browser-based access to a folder rather than a full sync platform. It ships as a single Go binary and a small Docker image.
Key features
- Single-binary web file manager
- User accounts and share links
- Built-in editor and previews
- Minimal resource usage
Pros & cons
Strengths
- Extremely lightweight
- Trivial to deploy
- Good for quick file access
Trade-offs
- No sync client
- Limited collaboration features
File Browser replaces
Last reviewed Aug 26, 2026 · 813 words
File Browser does one thing: it puts a folder on your server behind a login page, with upload, download, rename, preview, a text editor, and share links. It uses about 64 MB of RAM and ships as a single Go binary. It does not sync anything. If you want files to appear on your laptop automatically, that job belongs to Syncthing, and the two together are a very good answer to "I want Dropbox without running Nextcloud".
The Docker install, and the one mount that goes wrong
services:
filebrowser:
image: filebrowser/filebrowser:latest
user: "1000:1000"
ports:
- "8080:80"
volumes:
- /srv/files:/srv
- ./filebrowser.db:/database/filebrowser.db
- ./settings.json:/config/settings.json
restart: unless-stopped
Two of those paths must exist as files before the first docker compose up. If filebrowser.db does not exist, Docker creates a directory with that name and the container crashes complaining it cannot open the database. Run touch filebrowser.db and put at least {} in settings.json first. Match user: to whoever owns /srv/files on the host, or uploads fail with permission errors that look like an application bug.
On first start, read docker compose logs: current releases generate a random admin password and print it there. Older builds defaulted to admin / admin. Either way, change it in Settings before the container is reachable by anyone else.
Without Docker, the binary is one download and one command: filebrowser -r /srv/files -a 0.0.0.0 -p 8080 -d /var/lib/filebrowser.db serves the same directory with the same interface, and a 6-line systemd unit keeps it running. On a NAS or a Pi that already has the files, this is the lighter option and it sidesteps the mount problem entirely.
The editor and previews are better than they need to be
Text and config files open in a browser editor with syntax highlighting and save in place, which makes File Browser a quiet favourite for editing a compose file or a Caddyfile from a phone. Images, PDFs, audio, and video preview inline. There is also a Commands feature that lets a user run a preset shell command from the UI; leave the execute permission off for everyone but yourself, because it is exactly what it sounds like.
Users get a scope, not the whole disk
Each account has a scope, a subdirectory of /srv that becomes that user's root; they cannot see above it. So one instance serves a family: /srv/alice for one person, /srv/shared for another with the modify permissions switched off, and an admin who sees everything. Permissions are per user (create, rename, delete, share, execute commands), and the defaults for new accounts are set once under Settings, Global settings. It is enough for a household or a small team. It is not enough for a company that needs groups, quotas, and audit trails, which is the point at which Nextcloud earns its 500 MB.
Share links are the feature people run it for
Select a file or folder, click Share, and you get a URL with an optional expiry (hours or days) and an optional password. Recipients need no account and see a download page with a preview for images, PDFs, and video. Folder shares download as a zip. That covers "send my parents the holiday photos" and "let a client pull a 4 GB export" with no third-party service and no account creation at their end.
Two caveats. Share links are only as safe as their expiry, so set one every time. And browser uploads are fine for a few gigabytes over a LAN and tedious for tens of gigabytes across the internet; for that, rclone into the same directory over SFTP is the better tool.
Put TLS in front of it, always
File Browser speaks plain HTTP. Behind Caddy it becomes a 3-line site block with automatic certificates, and if you set baseURL in settings.json it can live at https://home.example.com/files alongside other apps. Do not expose it straight to the internet: the login form has no second factor, so an instance reachable from outside should sit behind a VPN or a forward-auth proxy.
What I'd do
Run File Browser on whichever box already holds the files, in Docker with the compose above, one user per person with a scoped folder, share-link expiries set to 7 days by habit, behind Caddy with TLS. Add Syncthing on the same directory for devices that need a local copy. The result does 90 percent of what a family used cloud storage for, in under 100 MB of RAM total, and it is the file sync setup I would hand a relative before any heavier platform. Reach for Nextcloud only when someone asks for calendars, contacts, or collaborative documents.
Compare File Browser
21 head-to-head comparisons.
- File Browser vs Syncthing
- File Browser vs copyparty
- File Browser vs Spacedrive
- File Browser vs Nextcloud
- File Browser vs Kubo (IPFS)
- File Browser vs Seafile
- File Browser vs SFTPGo
- File Browser vs Dufs
- File Browser vs Nextcloud All-in-One
- File Browser vs ownCloud
- File Browser vs FileBrowser Quantum
- File Browser vs Resilio Sync alternative Onionshare
- File Browser vs closet GoToSocial NoNo upspin
- File Browser vs OpenCloud
- File Browser vs WebDAV Server Go
- File Browser vs Unison
- File Browser vs SparkleShare
- File Browser vs elFinder
- File Browser vs Syncthing Android Wrapper
- File Browser vs Nextcloud Desktop Sync
- File Browser vs Zipline
Similar file sync & storage apps
LocalSend
File Sync & StorageShare files to nearby devices without the internet
Replaces AirDrop
Syncthing
File Sync & StorageContinuous peer-to-peer file synchronization
Replaces Dropbox, Resilio Sync
MinIO
File Sync & StorageHigh-performance S3-compatible object storage
Replaces Amazon S3
copyparty
File Sync & StoragePortable file server with accelerated resumable uploads
Replaces Dropbox, Google Drive
Puter
File Sync & StorageWeb-based operating system designed to be feature-rich, exceptionally
croc
File Sync & StorageSecurely send files between any two computers
Replaces WeTransfer, AirDrop