Solution: TinyFileManager is not optimized for tens of thousands of files in one directory. Consider adding an indexer like tree or using a different tool (FileBrowser, FileRun) for massive libraries.
Before diving into the YAML configurations, let's understand why this tool has garnered over 4,000 stars on GitHub.
However, manually installing PHP and configuring a webserver (Nginx/Apache) on your host system is fragile. This is where Docker Compose provides a superior alternative. tinyfilemanager docker compose
version: '3.8'services: tinyfilemanager: image: pritunl/tinyfilemanager:latest container_name: tinyfilemanager restart: unless-stopped ports: - "8080:80" volumes: - ./data:/var/www/html - ./uploads:/var/www/html/uploads - ./config:/config environment: - USERNAME=$TFM_USERNAME:-admin - PASSWORD=$TFM_PASSWORD:-admin123 - TZ=$TZ:-America/New_York - MAX_UPLOAD_SIZE=100M - THEME=dark networks: - webnet logging: driver: "json-file" options: max-size: "10m" max-file: "3"
networks: webnet: driver: bridge
Before we start, ensure you have the following: Solution : TinyFileManager is not optimized for tens
Verify your installation:
docker --version
docker compose version
Click the Upload button in the toolbar. Select any file. It will appear in the file list, and also physically in ./data/ on your host. This confirms the volume mount works. Before diving into the YAML configurations, let's understand
Always put it behind a reverse proxy with:
Add to docker-compose.yml:
environment:
- MAX_UPLOAD_SIZE=500M
tar -xzf tinyfilemanager-backup.tar.gz
docker-compose restart