The application is built as a single PHP file, meaning it has zero database requirements and negligible overhead. Advanced File Operations: Beyond standard uploads/downloads, it includes a Cloud9 IDE
nginx: image: nginx:alpine container_name: nginx-ssl restart: unless-stopped ports: - "443:443" volumes: - ./nginx-ssl.conf:/etc/nginx/conf.d/default.conf:ro - ./ssl:/etc/nginx/ssl - ./data:/var/www/html:ro depends_on: - tinyfilemanager networks: - web
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.
Create config.php on the host:
Create a file named docker-compose.yml in your tinyfilemanager directory: nano docker-compose.yml Use code with caution. tinyfilemanager docker compose
: You will be prompted to login with the username and password you specified in the docker-compose.yml file.
Paste the following content:
$auth_users = [ 'admin' => '$2y$10$axZWNo7Z..0z0mP9vCg9O.3pG8VwS5I05iJc.g4t0bI6pXh2uW6C.', // Default: admin@123 'user' => '$2y$10$p8/mK8L.w6Yc8Yg/gG6gO.d5lA2pXw3O5iJc.g4t0bI6pXh2uW6C.' // Default: user@123 ]; Use code with caution.
version: '3.8'
Let’s start with a minimal, working docker-compose.yml . We’ll use the official TinyFileManager Docker image ( tinyfilemanager/tinyfilemanager:latest ).
version: '3.8' services: tinyfilemanager: image: tinyfilemanager/tinyfilemanager:latest container_name: tinyfilemanager restart: unless-stopped ports: - "8080:80" volumes: - ./data:/var/www/html/data - ./config.php:/var/www/html/config.php environment: - FM_ROOT_PATH=/var/www/html/data - FM_ROOT_URL=http://localhost:8080/data logging: driver: "json-file" options: max-size: "10m" max-file: "3" Use code with caution. 3. Understanding the Configuration Core
TinyFileManager is even more powerful when combined with other containers.
: Giving read-write access to sensitive host directories is powerful but dangerous. Use with caution. The application is built as a single PHP
docker compose pull tinyfilemanager docker compose up -d
However, manually installing PHP and configuring a webserver (Nginx/Apache) on your host system is fragile. This is where provides a superior alternative.
Watch for new versions of the Docker image: