Deploy Filebrowser | Official Image, Pinned, No Stock Password
Official image, pinned. Generated admin password, no admin/admin.
filebrowser
Just deployed
/data
Filebrowser
A web file manager on a persistent volume, built from the official image, pinned, and refusing to start without a password.
What this fixes
The existing Filebrowser template deploys ghcr.io/brody192/filebrowser-template:latest
- a third-party wrapper image, unpinned. Two things follow from that.
:latest means the version you get is whatever was pushed most recently, so two
deploys a month apart are not the same software, and a redeploy can change the
application under a running volume. And the wrapper is one person's repository
rather than the upstream project, so what actually runs is a step removed from
anything the Filebrowser maintainers publish.
That template also leaves WEB_USERNAME as a required field with no value, and
says nothing about the password, which upstream defaults to admin.
What this does instead
Builds on filebrowser/filebrowser:v2.63.21 - the official image, at a fixed
version - with a small entrypoint that handles first boot.
- No stock credentials. The admin account is created with
ADMIN_PASSWORD, which this template generates for you. If it is empty the container exits with a message saying so, rather than putting anadmin/adminfile manager on a public domain. - First boot is atomic. The database is built at a temporary path and moved into place only once the account is in it, so a failed account creation cannot leave behind a database with no users in it.
- Redeploys keep your data. The account, the shares and the files are created once and then left alone.
- One volume. The stock image scatters state across
/config,/databaseand/srv. Here the database and the files both live under/data- one volume to attach, one thing to back up. - Command Runner off. The process runs as root, because that is what writing to a mounted volume requires; Command Runner is disabled so that does not turn into a root shell behind a login form.
Using it
Open the domain and log in as admin with the generated ADMIN_PASSWORD from
the service variables. Upload files, share them with links, edit text in place.
To serve files another service writes, mount the same volume in both and point
this one at that directory with FB_ROOT.
Configuration
| Variable | Required | Purpose |
|---|---|---|
ADMIN_PASSWORD | yes | Admin password - generated by the template |
ADMIN_USERNAME | no | Defaults to admin |
FB_ROOT | no | Directory being served, default /data/files |
FB_DATABASE | no | Database file, default /data/filebrowser.db |
Scaling note
State is one SQLite database on one volume, so this runs as a single instance. That is the shape of the application, not a limitation of the template.
Source: https://github.com/ak40u/filebrowser-railway-starter
Template Content
filebrowser
ak40u/filebrowser-railway-starter