(【Docker項目實戰】使用Docker部署FileRise文件管理器)

一、FileRise介紹

1.1 FileRise簡介

FileRise 是一個輕量級、自託管的網頁文件管理器,採用 PHP 與 JavaScript 構建,支持 Docker 和 Unraid 部署。它提供了一個現代化的 Web 界面,用於上傳、編輯、管理和共享服務器上的文件和文件夾,就像個人雲盤一樣便捷且安全。

1.2 FileRise主要特點

  • 🚀 輕鬆上傳文件 :支持拖放上傳、多文件/文件夾上傳,並具備斷點續傳功能,提升大文件傳輸成功率。

  • 🗂️ 文件管理 :提供完整的文件與文件夾操作功能,包括移動、複製、重命名、批量刪除及 ZIP 打包下載。

  • 🗃️ 文件夾與文件共享 :可創建帶密碼保護、有效期的公共鏈接分享文件或文件夾,支持外部用户安全上傳。

  • 🔌 WebDAV 支持 :支持通過 WebDAV 協議掛載為網絡驅動器,兼容多種客户端工具(如 Cyberduck、WinSCP)。

  • 📚 API 文檔 :提供自動生成的 OpenAPI 接口文檔和交互式 HTML 文檔,便於集成與二次開發。

  • 📝 內置編輯器和預覽 : 支持在瀏覽器中查看圖像、視頻、音頻、PDF,並使用 CodeMirror 編輯文本和代碼文件。

  • 🏷️ 標籤與搜索 : 支持為文件添加顏色標籤,並可通過文件名、標籤、內容進行實時模糊搜索。

  • 🔒 用户身份驗證與權限控制 : 提供用户名/密碼登錄、角色權限控制、兩步驗證(TOTP),並支持 OIDC 單點登錄(SSO)。

  • 🎨 響應式用户界面(深色/淺色模式) : 支持響應式佈局適配手機和平板,提供深色/淺色主題切換,界面個性化記憶設置。

  • 🌐 國際化與本地化 :支持英文、西班牙語、法語、德語等語言切換,並自動保存用户的語言偏好。

  • 🗑️ 回收站與文件恢復 : 刪除文件會先進入回收站,管理員可手動恢復或清空,系統自動清理過期文件。

  • ⚙️ 輕量且自包含 :無需數據庫,數據以文件形式存儲,部署簡單,資源佔用低,適合各種小型到中型服務器環境。

二、本次實踐規劃

2.1 本地環境規劃

本次實踐為個人測試環境,操作系統版本為Ubuntu 22.04.1。

hostname IP地址 操作系統版本 Docker版本 部署項目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 FileRise

2.2 本次實踐介紹

1.本次實踐部署環境為個人測試環境,生產環境請謹慎; 2.在Docker環境下部署FileRise文件管理器。

三、本地環境檢查

3.1 檢查Docker服務狀態

檢查Docker服務是否正常運行,確保Docker正常運行。

root@jeven01:~#  systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 878 (dockerd)
      Tasks: 28
     Memory: 1.2G
        CPU: 1min 50.356s
     CGroup: /system.slice/docker.service
             ├─  878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 檢查Docker版本

檢查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取FileRise鏡像

拉取FileRise相關容器鏡像,如下所示:

docker pull error311/filerise-docker

在這裏插入圖片描述

五、部署FileRise容器

5.1 創建部署目錄

  • 創建部署目錄
mkdir -p /data/filerise/{metadata,uploads,users} &&  cd /data/filerise
  • 掛載目錄授權
chmod -R 777 /data/filerise/

5.2 編輯部署文件

在`部署目錄下,創建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
version: '3'
services:
  web:
    image: error311/filerise-docker:latest
    container_name: filerise
    restart: always
    ports:
      - 6300:80
    volumes:
      - ./uploads:/var/www/uploads
      - ./users:/var/www/users
      - ./metadata:/var/www/metadata
    environment:
      - TZ=Asia/Shanghai
      - TOTAL_UPLOAD_SIZE=5G
      - SECURE=false
      - PERSISTENT_TOKENS_KEY=default_please_change_this_key

📁 掛載目錄(Volumes)

宿主機路徑 容器內路徑 説明
./uploads /var/www/uploads 存放用户上傳的文件(如圖片、文檔等)。持久化該目錄可防止容器刪除後數據丟失。
./users /var/www/users 存儲用户賬户信息(如用户名、密碼哈希、權限等),用於身份驗證和權限控制。
./metadata /var/www/metadata 存儲文件元數據(如標籤、共享鏈接設置、回收站記錄等)。保持數據一致性與恢復能力。

🔧 環境變量(Environment Variables)

變量名 值示例 / 含義
TZ=Asia/Shanghai 設置容器時區為中國上海時間,確保日誌、上傳時間戳等顯示正確的時間。
TOTAL_UPLOAD_SIZE=5G 設置所有用户總共允許上傳的最大文件容量為 5GB。
SECURE=false 是否啓用安全模式。若為 true,則可能限制某些敏感操作(如刪除/重命名等)。
PERSISTENT_TOKENS_KEY=default_please_change_this_key 用於加密持久化令牌的密鑰。建議在生產環境中更改為強隨機字符串以增強安全性。

5.3 創建FileRise容器

執行以下命令,創建FileRise容器。

docker compose up -d

在這裏插入圖片描述

5.4 查看FileRise容器狀態

檢查FileRise容器運行狀態,確保FileRise容器正常啓動。

root@jeven01:/data/filerise#  docker compose ps
WARN[0000] /data/filerise/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME       IMAGE                             COMMAND                  SERVICE   CREATED          STATUS          PORTS
filerise   error311/filerise-docker:latest   "/usr/local/bin/star…"   web       56 minutes ago   Up 56 minutes   443/tcp, 0.0.0.0:6300->80/tcp, [::]:6300->80/tcp

5.5 查看FileRise容器日誌

檢查FileRise容器運行日誌,確保FileRise服務正常運行。

root@jeven01:/data/filerise# docker compose logs
WARN[0000] /data/filerise/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
filerise  | 🚀 Running start.sh...
filerise  | ⚠️ WARNING: Using default persistent tokens key—override for production.
filerise  | 🔄 Updating config.php from env vars...
filerise  | 🔄 Setting PHP upload limits to 5G
filerise  | 🔄 Setting Apache LimitRequestBody to 5368709120 bytes
filerise  | 🔥 Starting Apache...
root@jeven01:/data/filerise#

六、訪問FileRise服務

瀏覽器地址: http://<個人的服務器IP>:6300,訪問FileRise的初始頁。如果無法訪問,請確保宿主機的防火牆已關閉或已放行相關端口,對於雲服務器還需配置相應的安全組規則。

在這裏插入圖片描述

勾選【 Grant Admin Access】選項,開始創建賬號。

在這裏插入圖片描述

填寫剛才註冊的賬號密碼,登錄FileRise首頁。

在這裏插入圖片描述

在這裏插入圖片描述

七、FileRise基本使用

7.1 創建文件目錄

點擊右側的創建目錄圖標,自定義填寫目錄名稱,確認創建。

在這裏插入圖片描述

7.2 上傳文件

將本地文件上傳到創建的好的Linux目錄,如下所示: 在這裏插入圖片描述

八、總結

通過本次實戰部署FileRise文件管理器,我們掌握了使用Docker快速構建應用運行環境的方法。整個部署過程簡潔高效,體現了Docker在簡化服務安裝與配置方面的優勢。FileRise的輕量化設計和直觀操作為本地文件管理提供了良好體驗。此次實踐進一步加深了對容器化技術應用的理解與操作能力。