Skip to content

カスタマイズした設定ファイルで Tiny File Manager の Docker コンテナを起動する

先日、簡易ファイルアップローダ「Tiny File Manager」を Docker で起動する というメモを書きました。 標準の設定ファイルでは「タイムゾーンが UTC」「時刻の表記が日本に馴染みのない方式」「ユーザ認証がかかっている」などの設定になっています。 これらをカスタマイズした設定ファイルを指定した上で Tiny File Manager の Docker コンテナを起動する方法をメモしておきます。 作業は Rocky Linux8 上で実施しました。

Docker のインストール

Rocky Linux8 へ docker-compose v2 系をインストールする などに記載していますが、Docker 公式サイトの手順に従ってインストール&起動します。

1
2
3
4
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

Tiny File Manager の設定ファイル

Tiny File Manager の設定については Wiki に書かれています。 試しに以下を設定してみます。

項目 設定
ユーザ認証を行わない $use_auth = false;
ダークテーマを利用する $theme = 'dark';
タイムゾーンを日本に設定 $default_timezone = 'Asia/Tokyo';
タイムスタンプの表記を修正 $datetime_format = 'Y/m/d H:i:s';

これらの設定を反映した設定ファイル (config.php) は以下になります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$use_auth = false;
$auth_users = array(
    'admin' => '$2y$10$/K.hjNr84lLNDt8fTXjoI.DBp6PpeyoJ.mGwrrLuCZfAwfSAGqhOW', //admin@123
    'user' => '$2y$10$Fg6Dz8oH9fPoZ2jJan5tZuv6Z4Kp7avtQ9bDfrdRntXtPeiMAZyGO' //12345
);
$theme = 'dark';
$readonly_users = array(
    'user'
);
$use_highlightjs = true;
$highlightjs_style = 'vs';
$edit_files = true;
$default_timezone = 'Asia/Tokyo';
$root_path = '/data';
$root_url = '';
$http_host = $_SERVER['HTTP_HOST'];
$directories_users = array();
$iconv_input_encoding = 'UTF-8';
$datetime_format = 'Y/m/d H:i:s';
$allowed_file_extensions = '';
$allowed_upload_extensions = '';
$favicon_path = '?img=favicon';
$exclude_items = array();
$online_viewer = 'google';
$sticky_navbar = true;
$max_upload_size_bytes = 2048;
$ip_ruleset = 'OFF';
$ip_silent = true;
$ip_whitelist = array(
    '127.0.0.1',    // local ipv4
    '::1'           // local ipv6
);
$ip_blacklist = array(
    '0.0.0.0',      // non-routable meta ipv4
    '::'            // non-routable meta ipv6
);
?>

設定ファイルを指定して Tiny File Manager を起動する

カスタマイズした設定ファイルを指定して Tiny File Manager の Docker コンテナを起動する例は以下の通りです。

1
2
3
4
5
6
7
docker run \
  -d \
  -v /data:/data \
  -v $(pwd)/config.php:/app/tinyfilemanager/config.php \
  -p 8080:80 \
  --name tinyfilemanager \
  tigerdockermediocore/tinyfilemanager-docker:latest

Web ブラウザで http://ADDRESS:8080 へアクセスするとユーザ認証無しに以下のような画面が表示されるはずです。 ファイルやディレクトリのタイムスタンプが JST になっており、表記方法も日本人にとって見やすいものになっています。 テーマも Dark が採用されています。

file

Docker コンテナの自動起動設定

必要であれば Docker コンテナの自動起動設定も実施しておきます。

1
docker update --restart always tinyfilemanager

参考

/app/tinyfilemanager/config.php (コメント除外版)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
$use_auth = true;
$use_auth = true;
$auth_users = array(
    'admin' => '$2y$10$/K.hjNr84lLNDt8fTXjoI.DBp6PpeyoJ.mGwrrLuCZfAwfSAGqhOW', //admin@123
    'user' => '$2y$10$Fg6Dz8oH9fPoZ2jJan5tZuv6Z4Kp7avtQ9bDfrdRntXtPeiMAZyGO' //12345
);
$theme = 'light';
$readonly_users = array(
    'user'
);
$use_highlightjs = true;
$highlightjs_style = 'vs';
$edit_files = true;
$default_timezone = 'Etc/UTC'; // UTC
$root_path = '/data';
$root_url = '';
$http_host = $_SERVER['HTTP_HOST'];
$directories_users = array();
$iconv_input_encoding = 'UTF-8';
$datetime_format = 'd.m.y H:i';
$allowed_file_extensions = '';
$allowed_upload_extensions = '';
$favicon_path = '?img=favicon';
$exclude_items = array();
$online_viewer = 'google';
$sticky_navbar = true;
$max_upload_size_bytes = 2048;
$ip_ruleset = 'OFF';
$ip_silent = true;
$ip_whitelist = array(
    '127.0.0.1',    // local ipv4
    '::1'           // local ipv6
);
$ip_blacklist = array(
    '0.0.0.0',      // non-routable meta ipv4
    '::'            // non-routable meta ipv6
);
?>