Compose — Tinyfilemanager Docker
Deploying TinyFileManager via Docker Compose is a highly efficient way to set up a powerful, web-based file management system with minimal overhead. This single-file PHP solution allows you to manage, edit, and preview files directly from your browser without complex dependencies or a database. Why Use Docker Compose for TinyFileManager?
Using Docker Compose simplifies deployment by defining your configuration in a single .yml file. This approach offers:
Ease of Setup: Quickly spin up the application without worrying about local PHP or web server dependencies.
Portability: Move your entire file manager setup between servers by just copying the project directory and the Compose file.
Data Persistence: Easily map host directories to the container to ensure your managed files remain safe even if the container is removed. Quick Start: Basic docker-compose.yml
To get started, create a new directory for your project and add a docker-compose.yml file with the following content: tinyfilemanager docker compose
version: '3.8' services: tinyfilemanager: image: tinyfilemanager/tinyfilemanager:master container_name: tinyfilemanager restart: always ports: - "8080:80" volumes: - ./data:/var/www/html/data - ./config.php:/var/www/html/index.php Use code with caution. What is Docker Compose? - Docker Docs
TinyFileManager Docker Compose a lightweight, single-file PHP management interface that lets you handle your server files directly from a web browser Key Features Provided
Using the Docker Compose setup unlocks several built-in capabilities: Built-in Code Editor : Edit files in-browser using the Cloud9 IDE with syntax highlighting for over 150 languages. Comprehensive File Operations
: Drag-and-drop uploads, folder creation, and the ability to move, copy, or securely delete files. Advanced Previews
: Instant viewing for images, videos, audio, and even PDF/DOC/PPT files via Google/Microsoft viewers. Multi-User Access Control Deploying TinyFileManager via Docker Compose is a highly
: Manage multiple accounts with specific folder permissions and secure session-based authentication. Archive Management : Compress and extract files directly on the server in docker-compose.yml You can use the following configuration based on the official Docker Hub instructions to get started: Tiny File Manager tinyfilemanager tinyfilemanager/tinyfilemanager container_name : tinyfilemanager # Map your local directory to the container's data folder /path/to/your/files :/var/www/html/data Use code with caution. Copied to clipboard Important Notes
: 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
: For production-like environments, consider using a specialized image like moonbuggy2000/tinyfilemanager which includes Nginx and PHP-FPM for better performance. Docker Hub or setting up a reverse proxy for secure remote access? Tiny File Manager - Awesome Docker Compose
Cannot Upload Large Files
Add to docker-compose.yml:
environment:
- MAX_UPLOAD_SIZE=500M
Step 3: Deploy and Run
-
Start the container:
docker-compose up -d -
Check if it's running:
docker ps
5.5 Adding Traefik (Automatic Let’s Encrypt)
For the ultimate ease, use Traefik as your reverse proxy:
version: '3.8'services: tinyfilemanager: image: tinyfilemanager/tinyfilemanager:latest labels: - "traefik.enable=true" - "traefik.http.routers.tfm.rule=Host(
files.yourdomain.com)" - "traefik.http.routers.tfm.tls.certResolver=letsencrypt" networks: - traefik
networks: traefik: external: true
(Assumes you have Traefik already running with a dedicated network.)