现代化的自托管文件管理器FileRise

简介

什么是 FileRise ?

FileRise 是一个轻量级、安全、自托管的网页应用程序,用于上传、语法高亮编辑、拖放文件管理等。它使用 Apache/PHP 后端和现代 JavaScriptES6 模块)前端构建,提供响应式动态界面,旨在简化文件处理。作为 FileGatorTinyFileManagerProjectSend 等解决方案的替代方案,FileRise 提供了一种易于设置的体验,非常适合文档管理、图像库、固件托管和其他文件密集型应用程序。

功能特点

  • 多文件/文件夹上传:支持通过文件选择器或拖放方式同时上传多个文件和文件夹,具有上传进度显示。
  • 分块上传:大文件可分块上传,默认块大小为 3 MB,支持暂停、恢复和重试上传。
  • 实时进度显示:每个文件都有独立的进度条,显示上传百分比和速度。
  • 内置文件编辑:文本文件(如 .txt.html.js)可在模态窗口中编辑,支持语法高亮和行号显示。
  • 文件预览:支持直接在页面中预览图片、视频、音频和 PDF 文件。
  • 批量操作:支持文件的删除、复制、移动、下载和提取 ZIP 文件等操作。
  • 文件标签管理:可为文件添加标签,支持单文件和多文件标签操作。
  • 用户认证与管理:提供安全的会话认证,管理员可以管理用户和权限。
  • 响应式界面:适应不同屏幕尺寸,支持暗模式和亮模式。
  • 安全性:集成 CSRF 验证,确保上传和文件访问的安全性。

应用场合

  • 文档管理:适用于企业或个人需要高效管理大量文档的场景。
  • 图像库:可用于存储和管理图片,方便用户进行批量操作和预览。
  • 固件托管:适合存储和分发固件文件,确保用户能够快速访问和下载。
  • 开发项目:可作为开发者管理项目文件的工具,支持代码文件的编辑和版本控制。

FileRise 提供了简便的设置和使用体验,是一个理想的文件管理解决方案。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 filerise ,选择第一个 error311/filerise-docker,双击直接下载。

docker 文件夹中,创建一个新文件夹 filerise,并在其中建三个子文件夹 data

文件夹 装载路径 说明
docker/filerise/metadata /var/www/metadata 存储文件元数据(如 file_metadata.json)和文件夹元数据
docker/filerise/uploads /var/www/uploads 存储用户上传的文件
docker/filerise/users /var/www/users 存储用户认证数据(如 users.txt

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3074 80

默认对外暴露了 2 个端口

老苏只保留了 80,即便是映射到公网,用 npm 也没问题

环境

可变
TIMEZONE 设置应用运行的时区
TOTAL_UPLOAD_SIZE 定义应用允许的最大上传文件大小的总和,确保它与 PHPupload_max_filesizepost_max_size 设置相匹配
SECURE 指定是否启用安全模式(例如 SSL
PERSISTENT_TOKENS_KEY 指定用于加密用户持久登录令牌的密钥
SHARE_URL 配置共享链接的基础 URL

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 新建文件夹 filerise 和 子目录
mkdir -p /volume2/docker/filerise/{metadata,uploads,users}

# 进入 filerise 目录
cd /volume2/docker/filerise

# 运行容器
docker run -d \
--restart unless-stopped \
--name filerise \
-p 3074:80 \
-v $(pwd)/uploads:/var/www/uploads \
-v $(pwd)/users:/var/www/users \
-v $(pwd)/metadata:/var/www/metadata \
-e TIMEZONE="Asia/Shanghai" \
-e TOTAL_UPLOAD_SIZE="5G" \
-e SECURE="false" \
error311/filerise-docker:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
version: '3'

services:
web:
image: error311/filerise-docker:latest
container_name: filerise
restart: unless-stopped
ports:
- 3074: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"

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 filerise 和 子目录
mkdir -p /volume2/docker/filerise/{metadata,uploads,users}

# 进入 filerise 目录
cd /volume2/docker/filerise

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3074 就能看到注册界面

第一次需要建一个管理员账号,需要勾选 Grant Admin Access

需要登录

登录成功后的主界面

现在可以建目录、上传文件等操作

详细操作可以看官方的视频

参考文档

error311/FileRise: 🗂️ Lightweight, self-hosted web-based file manager with multi-file upload, editing, and batch operations – built with PHP & JavaScript for seamless file and folder management (Docker & Unraid ready).
地址:https://github.com/error311/FileRise

Introducing FileRise – A Modern, Self-Hosted File Manager to Elevate Your File Management : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1jl01pi/introducing_filerise_a_modern_selfhosted_file/