【Docker项目实战】使用Docker部署FileRise文件管理器
- 一、FileRise介绍
- 1.1 FileRise简介
- 1.2 FileRise主要特点
- 二、本次实践规划
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 三、本地环境检查
- 3.1 检查Docker服务状态
- 3.2 检查Docker版本
- 3.3 检查docker compose 版本
- 四、拉取FileRise镜像
- 五、部署FileRise容器
- 5.1 创建部署目录
- 5.2 编辑部署文件
- 5.3 创建FileRise容器
- 5.4 查看FileRise容器状态
- 5.5 查看FileRise容器日志
- 六、访问FileRise服务
- 七、FileRise基本使用
- 7.1 创建文件目录
- 7.2 上传文件
- 八、总结
一、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 Wed2025-07-0214:16:57 UTC;21h ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:878(dockerd)Tasks:28Memory:1.2G CPU: 1min50.356s CGroup: /system.slice/docker.service ├─878/usr/bin/dockerd-Hfd://--containerd=/run/containerd/containerd.sock3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -vDocker version27.1.1, build63125853.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose versionDocker Compose version v2.19.1四、拉取FileRise镜像
拉取FileRise相关容器镜像,如下所示:
dockerpull error311/filerise-docker五、部署FileRise容器
5.1 创建部署目录
- 创建部署目录
mkdir-p/data/filerise/{metadata,uploads,users}&&cd/data/filerise- 挂载目录授权
chmod-R777/data/filerise/5.2 编辑部署文件
在`部署目录下,创建docker-compose.yaml文件,如下所示:
vimdocker-compose.yamlversion:'3'services:web:image:error311/filerise-docker:latestcontainer_name:fileriserestart:alwaysports:-6300:80volumes:-./uploads:/var/www/uploads-./users:/var/www/users-./metadata:/var/www/metadataenvironment:-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容器。
dockercompose up-d5.4 查看FileRise容器状态
检查FileRise容器运行状态,确保FileRise容器正常启动。
root@jeven01:/data/filerise# docker compose psWARN[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…"web56minutes ago Up56minutes443/tcp,0.0.0.0:6300->80/tcp,[::]:6300->80/tcp5.5 查看FileRise容器日志
检查FileRise容器运行日志,确保FileRise服务正常运行。
root@jeven01:/data/filerise# docker compose logsWARN[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—overrideforproduction. filerise|🔄 Updating config.php fromenvvars... filerise|🔄 Setting PHP upload limits to 5G filerise|🔄 Setting Apache LimitRequestBody to5368709120bytes 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的轻量化设计和直观操作为本地文件管理提供了良好体验。此次实践进一步加深了对容器化技术应用的理解与操作能力。