Deploy Directory Lister
Application that Lists the Contents of Any Web-Accessible Directory
directory-lister
Just deployed
/data
Deploy and Host Directory Lister on Railway
Directory Lister is a simple, elegant PHP application designed to turn any directory of files into a modern, web-accessible file browser and download portal. This Railway template deploys directorylister/directorylister:latest as a single container service paired with persistent storage to serve and share files easily over HTTPS.
About Hosting Directory Lister
Hosting Directory Lister on Railway runs a single container using the directorylister/directorylister:latest Docker image listening on port 80. A persistent volume is mounted at /data to store and serve files, documents, downloads, or media assets. Railway automatically provisions an HTTPS domain and handles reverse proxy routing, giving you an instant, stylish web frontend for browsing your server storage without needing complex web server configurations (like Nginx index directives).
Common Use Cases
- Public file hosting & download portal: Share software builds, documents, archives, or assets publicly via an intuitive browser interface.
- Simple web-based asset browser: Serve static media files, PDFs, image collections, or logs with real-time directory indexing and breadcrumb navigation.
- Lightweight private cloud drive: Store personal or team files on persistent Railway storage with direct HTTPS download links.
- Custom themed media library: Customize Directory Lister layouts and search interfaces to present organized file mirrors.
Dependencies for Directory Lister Hosting
- Directory Lister image:
directorylister/directorylister:latest - One persistent volume mounted at
/data - Railway public domain mapped to port
80 - No external database required (reads directory contents directly from
/data)
Upstream: Directory Lister Site · GitHub · Docker Hub
Implementation Details
| Item | Value |
|---|---|
| Image | directorylister/directorylister:latest |
| Web UI Port | 80 |
| Storage / Volume | /data |
| Database | None (Flat file system index) |
| Domain | ${{RAILWAY_PUBLIC_DOMAIN}} |
Topology
| Service | Role | Volume | Public | Notes |
|---|---|---|---|---|
| directory-lister | Web Directory Indexer UI | /data | Yes (Port 80) | Serves files directly from volume mount |
Volumes (drives) — what to mount
| Service | Mount path | What is stored |
|---|---|---|
| directory-lister | /data | Persistent file directory containing files, folders, documents, and media to be indexed and downloaded |
Warning: Do not remove or detach the
/datavolume — deleting this volume will permanently erase all stored files and directories served by Directory Lister during container redeployments.
Quick Start
- Click the Deploy on Railway button above.
- Sign in (or create a free Railway account) and click Deploy.
- Wait 1–2 minutes for the container and persistent volume to provision.
- Open the directory-lister service → Settings → Networking and click the generated public domain URL.
- Upload files into the
/datavolume to see them indexed in real time.
Configuration
Container-level choices defined in the template:
| Variable | Default / Source | Description / Notes |
|---|---|---|
PORT | 80 | HTTP port the web server listens on inside the container |
Custom Domain
- Open the directory-lister service → Settings → Networking → Custom Domain.
- Add your custom domain and follow Railway’s DNS configuration instructions].
- Railway provisions TLS certificates automatically.
- Access your file index securely at
https://your.custom.domain.
Updating Directory Lister
- Open the directory-lister service → Settings → Source.
- Update the image tag (e.g.,
directorylister/directorylister:latestor a specific release tag). - Click Redeploy.
All stored files inside the /data volume will remain intact across container updates.
Traps
Common pitfalls and failure modes:
- Empty Directory Display — If no files or folders are placed in
/data, Directory Lister will display an empty root index. Ensure your files are uploaded directly into the/datamount path. - Permissions Issues — Files placed in
/datamust be readable by the container user. Unreadable file permissions will result in403 Forbiddenor hidden files in the UI. - Missing
/dataVolume Mount — If the/datavolume is detached or omitted, files added directly to the container's ephemeral filesystem will be lost whenever Railway redeploys or restarts the service. - Large File Upload Limitations — Directory Lister is primarily a web reader/indexer. To add large files to
/data, upload them directly via volume management tools or CLI rather than web forms unless custom upload handlers are configured.
Why Deploy Directory Lister on Railway?
Railway provides a simple, cloud-native hosting platform for web containers with automated persistent volume mounts, zero-configuration TLS certificates, and high availability. Hosting Directory Lister on Railway gives you an instant, always-on file server and download portal accessible globally without managing local Nginx/Apache servers or static site generators.
Template Content
directory-lister
directorylister/directorylister:latest