
error311/filerise-docker提升你的文件管理体验——一款现代化自托管Web文件管理器。通过简洁的Web界面上传、整理和共享文件。FileRise 轻量却功能强大:可视为你掌控的个人云盘。支持拖放上传、浏览器内编辑、安全用户登录(含SSO和双因素认证)及一键共享,让服务器文件管理变得轻松简单。
2025年4月3日视频演示:
<[***]>
深色模式:
!深色模式界面
🚀 便捷文件上传:支持多文件和文件夹通过拖放或文件选择器上传。支持大文件的可暂停/恢复分片上传,实时显示每个文件的进度。连接中断时可续传,避免传输失败。
🗂️ 文件管理:完整的文件/文件夹操作集——通过直观拖放或对话框移动/复制文件、重命名项目及批量删除。可将选中文件下载为ZIP压缩包,或在服务器端解压上传的ZIP文件。通过交互式文件夹树和面包屑导航快速组织内容。
🗃️ 文件夹与文件共享:通过安全的过期公共链接轻松共享整个文件夹。文件夹共享可设置密码保护,支持外部用户通过独立安全机制上传文件。文件夹列表分页显示(每页10项)并带导航控件,文件大小以MB为单位清晰展示。使用一次性或过期公共链接(可选密码保护)共享单个文件,无需暴露整个应用。
📚 API文档:自动生成的OpenAPI规范(openapi.json)和基于Redoc的交互式HTML文档(api.html)。
📝 内置编辑器与预览:通过预览模态框内联查看图片、视频、音频和PDF,无需下载即可预览。使用基于CodeMirror的编辑器在浏览器中编辑文本/代码文件,支持语法高亮和行号显示,方便修改配置文件或笔记。
🏷️ 标签与搜索:通过彩色标签对文件分类,使用索引化实时搜索快速定位。高级搜索模式支持模糊匹配,不仅可搜索文件名、标签和上传者字段,还能搜索文本文件内容,即使拼写有误或需深度查找也能找到目标文档。
🔒 用户认证与权限:支持用户名/密码登录,可创建多用户账户(提供管理员界面)。用户权限包括“仅访问文件夹”(每个用户在根目录下有专用文件夹,无法查看其他目录)、“只读”和“禁用上传”。集成单点登录(OIDC)提供商(如OAuth2/OIDC用于Google/Authentik/Keycloak),并支持可选TOTP双因素认证增强安全性。
🎨 响应式UI(深色/浅色模式):原生支持移动设备,通过响应式布局在手机或平板上管理文件。可切换深色/浅色主题或跟随系统偏好。界面记住用户偏好(布局、每页项目数、上次访问文件夹等),提供个性化体验。
🌐 国际化与本地化:通过集成i18n系统支持多语言,用户可通过面板下拉菜单切换语言,选择会保存在本地存储中。目前支持英语、西班牙语、法语和德语,如有翻译问题请反馈。
🗑️ 回收站与文件恢复:误删文件无需担心——删除项目会进入回收站而非直接移除。管理员可从回收站恢复文件或清空以释放空间。FileRise自动清理旧回收站条目(默认3天),保持存储整洁。
⚙️ 轻量与自包含:运行于PHP 8.1+,无需外部数据库——用户数据和元数据存储在文件中,简化部署。单文件夹Web应用,可部署到任何Apache/PHP服务器或作为容器运行。支持Docker和Unraid,使用预构建镜像实现无 hassle 部署。内存和CPU占用极低,但支持分页和排序功能,可扩展至数千个文件。
(完整功能列表和详细更新日志见Wiki、更新日志或发布页面。)
想了解UI?查看在线演示:<[***]>(用户名“demo”,密码“demo”)。为安全起见,演示为只读模式。可探索界面、切换主题、预览文件,体验FileRise功能!
可通过Docker容器(最快方式)或在PHP Web服务器上手动安装部署FileRise。以下分别介绍两种方法。
若已安装Docker,可在几分钟内启动FileRise:
bashdocker pull error311/filerise-docker:latest
bashdocker run -d \ -p 8080:80 \ -e TIMEZONE="America/New_York" \ -e TOTAL_UPLOAD_SIZE="5G" \ -e SECURE="false" \ -v ~/filerise/uploads:/var/www/uploads \ -v ~/filerise/users:/var/www/users \ -v ~/filerise/metadata:/var/www/metadata \ --name filerise \ error311/filerise-docker:latest
此命令会在8080端口启动FileRise。访问[***]即可使用。上述环境变量为可选,例如设置SECURE="true"可强制HTTPS(需代理层支持SSL),并根据需要调整TIMEZONE。卷挂载确保文件和用户数据在容器外持久化存储。
也可使用docker-compose。将以下内容保存为docker-compose.yml,然后运行docker-compose up -d:
yamlversion: '3' services: filerise: image: error311/filerise-docker:latest ports: - "8080:80" environment: TIMEZONE: "UTC" TOTAL_UPLOAD_SIZE: "10G" SECURE: "false" PERSISTENT_TOKENS_KEY: "请替换为随机字符串@@" volumes: - ./uploads:/var/www/uploads - ./users:/var/www/users - ./metadata:/var/www/metadata
FileRise将在http://localhost:8080(或服务器IP)可用。上述示例还设置了自定义PERSISTENT_TOKENS_KEY(用于加密“记住我”令牌),请务必替换为随机字符串以确保安全。
首次设置:启动后,FileRise会检测到无用户,提示创建管理员账户。设置管理员用户名和密码后即可使用,之后可在“用户管理”部分添加其他用户。
若偏好在PHP Web服务器上手动安装:
要求:PHP 8.1+,Apache(带mod_php)或其他支持PHP的Web服务器。需启用PHP扩展json、curl和zip。无需数据库。
下载文件:克隆仓库或下载最新发布版压缩包。
bashgit clone [***]
将文件放入Web服务器目录(如/var/www/html/filerise)。若部署在子文件夹,需调整下方BASE_URL配置。
Composer依赖:若计划使用OIDC(SSO登录),需安装Composer并在FileRise目录运行composer install(拉取jumbojett/openid-connect等PHP库)。若跳过此步,FileRise仍可运行,但OIDC登录不可用。
文件夹权限:确保服务器可写入以下目录(不存在则创建):
bashmkdir -p uploads users metadata chown -R www-data:www-data uploads users metadata # www-data为Apache用户,根据实际用户调整 chmod -R 775 uploads users metadata
uploads/存储文件,users/存储用户凭证文件,metadata/存储标签和共享链接等元数据。
配置:用文本编辑器打开config.php,可调整以下设置:
BASE_URL:访问FileRise的URL(如"[***]"),用于生成共享链接。
TIMEZONE和DATE_TIME_FORMAT:设置时区和日期格式(确保时间戳正确)。
TOTAL_UPLOAD_SIZE:最大总上传大小(默认5G)。同时需将PHP的upload_max_filesize和post_max_size调整为至少此值(Docker启动脚本会自动调整PHP限制)。
PERSISTENT_TOKENS_KEY:使用“记住我”登录时,设置唯一密钥用于加密令牌。
其他设置如UPLOAD_DIR、USERS_FILE等默认无需修改,除非移动了相关文件夹。
Web服务器配置:Apache用户需确保允许.htaccess文件,或手动将.htaccess中的规则添加到Apache配置(禁用目录列表、保护敏感文件)。Nginx用户需复制这些保护规则(见Wiki:Nginx配置示例)。需启用mod_rewrite(若使用美化URL共享链接)。
在浏览器中访问FileRise URL,首次加载时会提示创建管理员用户(与Docker设置相同),完成后即可使用。
“上传失败”或大文件无法上传:确保config.php中的TOTAL_UPLOAD_SIZE及PHP的post_max_size/upload_max_filesize均设置足够大。超大文件可能需增加PHP的max_execution_time或使用分片上传功能。
如何启用HTTPS:FileRise本身不处理TLS,需通过Nginx、Caddy或Apache反向代理配置SSL。Docker环境中设置SECURE="true"环境变量,使FileRise生成HTTPS链接。
修改管理员密码或重置密码:管理员可通过UI(用户管理)修改任何用户密码。若丢失管理员权限,可编辑服务器上的users/users.txt文件,删除管理员行后重启应用,触发重新设置管理员流程。
文件存储位置:文件存储在uploads/目录(或UPLOAD_DIR配置路径),按应用内文件夹结构组织。删除的文件移至uploads/trash/。标签信息存储在metadata/file_metadata.json,回收站元数据在metadata/trash.json等。重要数据建议定期备份这些文件夹。
更新FileRise:Docker用户只需拉取新镜像并重建容器;手动安装用户需下载最新版并替换文件(保留config.php和uploads/users/metadata文件夹)。更新后若有问题,建议清除浏览器缓存(CSS/JS可能已更新)。
更多问题或帮助,请查看Discussions或提交issue。
本项目采用MIT许可证开源。你可自由使用、修改和分发FileRise,但需保留署名。欢迎贡献代码或反馈!
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务