Tinyfilemanager Docker Compose
Open your favorite web browser and navigate to: http://your-server-ip:8080 or http://localhost:8080 Log in using the default credentials: Username: admin | Password: admin@123 View-Only User: Username: user | Password: user@123 Advanced Tweaks and Best Practices 1. Increasing Upload File Limits
FM_ROOT_PATH explicitly tells the application to restrict user navigation to your mapped data volume, preventing directory traversal leaks into the internal container structure. Hardening and Security Configurations
The application requires no database or complex dependencies, making it extremely easy to deploy and use.
: Keeps your application environment containerized, eliminating conflicts with existing host services. tinyfilemanager docker compose
upload_max_filesize = 2048M post_max_size = 2048M memory_limit = 2048M max_execution_time = 3600
Download the official template configuration file directly from the source repository into your project folder:
sudo chown -R 82:82 ./data sudo chmod -R 755 ./data Open your favorite web browser and navigate to:
You do not need to install PHP or Apache on your host machine.
Create a read-only share for external clients. Set TFM_READONLY=true in environment variables. Use a separate container instance with different credentials.
Add the following minimal security configuration, replacing the hashes with the one you generated: Set TFM_READONLY=true in environment variables
This article will serve as your complete guide to deploying TinyFile Manager using Docker Compose. We will cover everything: from basic setup and environment configuration to advanced use cases like SSL termination, persistent storage, and integration with existing reverse proxies.
// Root URL for links in file manager $root_url = 'data/';
(Assumes you have Traefik already running with a dedicated network.)
Exposing port 8080 directly to the internet transmits your credentials and files over unencrypted HTTP. To secure this in production, you should route your traffic through a reverse proxy like or Traefik to handle SSL termination.
: It is highly recommended to change the default credentials ( admin/admin@123 ) immediately in your configuration. Persistence : Mount a local volume to /var/www/html/data to ensure your files persist after container restarts. Environment Setup