Tiny File Manager is a web-based file manager that allows you to manage files, folders, and edit code directly in your browser. Its key features include: Minimal resource usage.
Tiny File Manager via Docker Compose is an ideal solution for quick file sharing, management, and editing. Its minimal footprint and straightforward configuration make it a staple in any self-hosted environment.
Deploying TinyFileManager via Docker Compose isolates the application from your host system, ensures rapid deployment, and simplifies version management. This guide walks you through setting up TinyFileManager using Docker Compose, configuring persistent storage, and securing your installation. Prerequisites
version: '3'
In the modern landscape of self-hosting and server management, the need for a simple, fast, and secure way to manage files via a web browser is universal. While massive ecosystems like Nextcloud or Seafile offer powerful features, they often come with heavy database backends, memory-hungry processes, and complex setups.
Create a docker-compose.yml file within your project directory: nano docker-compose.yml Use code with caution. Paste the following optimized configuration into the file:
version: '3.8'
| Problem | Solution | |---------|----------| | White screen after login | Clear browser cache. The session might be corrupted. Or check docker logs tinyfilemanager for PHP errors. | | Upload fails for large files | Increase PHP limits (Step 6) and also ensure your reverse proxy (Nginx/Traefik) client_max_body_size is increased. | | Permissions error on upload | The mounted directory must be owned by UID 33 (www-data). Run sudo chown -R 33:33 ./data on host. | | "Invalid configuration" in terminal | The container lacks shell utilities. Use a custom image that includes bash and procps . | | I forgot my password | Stop the container, remove the named volume tinyfilemanager_config , and restart. Credentials will reset to env vars. |
This configuration uses an alternative Nginx-based image. It allows you to set the user and group IDs under which the process runs, which is a best practice for host file permissions. TFM_* environment variables can also be used to override parameters in the config.php file. For example, to set a custom hostname, you would use TFM_HTTP_HOST .
Built-in editor (code-mirror) for editing configuration files, scripts, or text files. Prerequisites tinyfilemanager docker compose
Ensure the data directory on your host is accessible by the Docker user (usually UID 33 or 1000).
// Root URL for links in file manager $root_url = 'data/';
"8080:80" – Maps port 8080 on your host to port 80 in the container. Access the app via http://localhost:8080 . volumes: Tiny File Manager is a web-based file manager
Deploying TinyFileManager with Docker Compose provides a simple, efficient way to add web-based file management capabilities to your infrastructure. The basic configuration is straightforward and can be up and running in minutes, while more advanced setups allow for customization, security hardening, and integration with existing infrastructure.
Whether you're using it for personal file management, team collaboration, or as part of a larger application ecosystem, TinyFileManager's lightweight nature combined with Docker Compose's orchestration capabilities makes it an excellent choice for modern web-based file management.