首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Docker项目实战】使用Docker部署FileRise文件管理器

【Docker项目实战】使用Docker部署FileRise文件管理器

原创
作者头像
江湖有缘
发布2025-08-27 17:16:30
发布2025-08-27 17:16:30
780
举报
文章被收录于专栏:Docker项目实战Docker项目实战

一、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正常运行。

代码语言:bash
复制
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版本

代码语言:bash
复制
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash
复制
root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取FileRise镜像

拉取FileRise相关容器镜像,如下所示:

代码语言:bash
复制
docker pull error311/filerise-docker
在这里插入图片描述
在这里插入图片描述

五、部署FileRise容器

5.1 创建部署目录

  • 创建部署目录
代码语言:bash
复制
mkdir -p /data/filerise/{metadata,uploads,users} &&  cd /data/filerise
  • 挂载目录授权
代码语言:bash
复制
chmod -R 777 /data/filerise/

5.2 编辑部署文件

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

代码语言:bash
复制
vim docker-compose.yaml
代码语言: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容器。

代码语言:bash
复制
docker compose up -d
在这里插入图片描述
在这里插入图片描述

5.4 查看FileRise容器状态

检查FileRise容器运行状态,确保FileRise容器正常启动。

代码语言:bash
复制
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服务正常运行。

代码语言:bash
复制
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的轻量化设计和直观操作为本地文件管理提供了良好体验。此次实践进一步加深了对容器化技术应用的理解与操作能力。


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、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 上传文件
  • 八、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档