- Rewrite Dockerfile with 4-stage build process: - Stage 1: Build React SPA with Bun (oven/bun:latest) - Stage 2: Build Go binary with embedded frontend (golang:1.25-alpine) - Stage 3: Fetch runtime dependencies (alpine:3.23) - Stage 4: Minimal runtime container (busybox:1.37.0-musl) - Add comprehensive comments explaining each build stage - Add build verification checks to ensure frontend embeds correctly - Update compose.yaml with environment variables (FB_PORT=80, FB_ADDRESS=0.0.0.0) - Add docker-compose.dev.yaml for development with hot reload support - Modify http/static.go to serve 'index.html' instead of 'public/index.html' - Final production image: ~50MB with non-root user and health checks - Enable both production and development Docker workflows
File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, preview and edit your files. It is a create-your-own-cloud-kind of software where you can just install it on your server, direct it to a path and access your files through a nice web interface.
Documentation
Documentation on how to install, configure, and contribute to this project is hosted at filebrowser.org.
Project Status
This project is a finished product which fulfills its goal: be a single binary web File Browser which can be run by anyone anywhere. That means that File Browser is currently on maintenance-only mode. Therefore, please note the following:
- It can take a while until someone gets back to you. Please be patient.
- Issues are meant to track bugs. Unrelated issues will be converted into discussions.
- The priority is triaging issues, addressing security issues and reviewing pull requests meant to solve bugs.
- No new features are planned. Pull requests for new features are not guaranteed to be reviewed.
Please read @hacdias' personal reflection on the project status.
Contributing
Contributions are always welcome. To start contributing to this project, read our guidelines first.
License
Apache License 2.0 © File Browser Contributors
