Skip to content

Deploy by Docker

Prasath Mani edited this page Oct 19, 2024 · 1 revision

Make sure you have already installed docker, Install reference

Notice: Your need an absolute path, and it will be served by tinyfilemanager.

If you want to serve this project at raspberry pi or another special platform, you can download project and build image by yourself.

You can execute this following commands:

$ docker run -d -v /absolute/path:/var/www/html/data -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master
$ docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED         STATUS         PORTS                                       NAMES
648dfba9c0ff   tinyfilemanager/tinyfilemanager:master   "docker-php-entrypoi…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           tinyfilemanager

Access http://127.0.0.1/ and enter default username and password, then enjoy it.

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

How to change config within docker

Origin:

// Root path for file manager
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
$root_path = $_SERVER['DOCUMENT_ROOT'];

// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
// Will not working if $root_path will be outside of server document root
$root_url = '';

Modified:

// Root path for file manager
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
$root_path = $_SERVER['DOCUMENT_ROOT'].'/data';

// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
// Will not working if $root_path will be outside of server document root
$root_url = 'data/';

Then, change another config what you want, and add a new volume -v /absolute/path/index.php:/var/www/html/index.php in docker run command, like this:

$ docker run -d -v /absolute/path:/var/www/html/data -v /absolute/path/index.php:/var/www/html/index.php -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master

Stop running

If you want to stop a running docker service, or you want to restart a service, you should stop it first, or you got docker: Error response from daemon: Conflict. The container name "/tinyfilemanager" is already in use by container ... problem. You can execute this command:

$ docker rm -f tinyfilemanager
Clone this wiki locally