Giter VIP home page Giter VIP logo

docker-tinyfilemanager's Introduction

Tiny File Manager

Tiny File Manager in an Alpine Docker container with Nginx and PHP-FPM, for multiple architectures.

Description

The official Docker image uses PHP's built-in web server. Nginx should perform better in production environments.

The container listens on two ports:

  • 8080 - the Tiny File Manager webUI
  • 8081 - web root set to file storage location, HTML and PHP served as plain text

Basically, the webUI is accessible at https://<host>:8080/ only, but files at https://<host>:8080/files/* are also accessible at https://<host>:8081/*. HTML and PHP files will be rendered if accessed via the former, but not by the latter.

This provides an easy/lazy method for configuring the management webUI and files to be accessible on separate (sub)domains, via an appropriately configured downstream reverse proxy. As files are also accessible via the webUI's port in the normal way, doing anything at all with port 8081 is optional.

For a more detailed description of Tiny File Manager and its configuration see the source repo.

Usage

docker run -d --name TinyFileManager \
  -p 8080:8080 \
  -p 8081:8081 \
  -v /path/to/file/storage:/var/www/html/files \
  moonbuggy2000/tinyfilemanager:latest

Custom configuration can be done via the enviornment or by persisting and editing the config.php file.

Volumes

Files are stored in /var/www/html/files/, so this folder will need to be mounted to persist data.

The Tiny File Manager configuration file is at /var/www/html/config.php, and this can be mounted for any custom configuration that's required.

Environment variables

  • PUID - user ID to run as (default: 1000)
  • PGID - group ID to run as (default: 1000)
  • TZ - set date.timezone in OS and php.ini
  • NGINX_LOG_ALL - enable logging of HTTP 200 and 300 responses (accepts: true, false default: false)
  • TFM_* - wildcard for config.php parameters

TFM_*

Parameters in /var/www/html/config.php can be set from matching environment variables prepended with TFM_. String values should be quoted and those quote will need to be escaped.

For example: docker run -e TFM_HTTP_HOST=\'host.local\' ..

Sets: $http_host = 'host.local';.

Links

GitHub: https://github.com/moonbuggy/docker-tinyfilemanager

DockerHub: https://hub.docker.com/r/moonbuggy2000/tinyfilemanager

docker-tinyfilemanager's People

Contributors

moonbuggy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.