You are about to leave tocaboca.com

You are leaving tocaboca.com, a page hosted by Toca Boca, and entering a third-party site. Toca Boca is not responsible for any personal data collected by this site, any cookies that may be used and does not control what third-parties service providers this external site uses and what they do with the information they collect.

Help us personalize your experience

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

  1. Start the container:

    docker-compose up -d
    
  2. 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.)