开发者生态
morning
Show HN:Filemat – 一个基于 Web 的开源文件管理器
2026-05-27
1 阅读
bingud
目录 功能 要求 安装 配置 使用建议 技术细节 什么是 Filemat? Filemat 是一个基于 Web 的文件管理器。它是自托管的,允许您使用 Web UI 从任何地方管理本地文件。与您可能知道的其他替代方案类似: Nextcloud Files、FileBrowser.org 功能 快速、简单的设置 用户管理、角色 粒度权限(按用户或角色) 文件权限 应用程序管理权限 通过公共链接进行文件共享(可选密码) 文本文件编辑、视频流 请参阅此处的完整功能列表 要求 Linux Java 17(或只是 Docker)安装 您可以直接运行 JAR 文件,或使用 Docker 映像 ( https://hub.docker.com/r/bingud/filemat )。 Filemat 目前在 apt 上不可用。 - 运行 Docker 镜像 查看如何使用 Docker 进行部署 - 正常运行 确保您的机器已安装 Linux 和 Java 17。从发布部分下载 JAR 文件。使用此命令通过 Java 运行该文件(根据您下载的 JAR 文件更改文件名): java -jar filemat.jar 配置 此处的所有配置详细信息 - 环境变量 通过在中间放置冒号 ( /one:/two ) 输入多个值 名称 说明 默认值 示例值 FM_HIDDEN_FOLDER_PATHS 要完全排除和阻止的文件夹路径列表。 /root:/home/folder FM_HIDE_SENSITIVE_FOLDERS 是否隐藏敏感 Linux 文件夹(如 /root、.ssh) true false FM_NON_SENSITIVE_FOLDERS 从敏感文件夹列表中排除的文件夹列表 /root:/etc/ssh FM_FOLLOW_SYMBOLIC_LINKS 是否遵循符号链接,或将其显示为普通文件 false true FM_FORCE_DELETABLE_FOLDERS 列表受保护的系统文件夹可删除 /root:/etc FM_ALLOW_READ_DATA_FOLDER 允许访问应用程序数据文件夹 false true FM_ALLOW_WRITE_DATA_FOLDER 允许修改应用程序数据文件夹 false true FM_PRINT_LOGS 是否打印日志到控制台 true false FM_DEV_MODE Filemat 是否处于开发模式 false true 使用建议 以非 root 身份运行 Filemat 为 Filemat 创建专用 Linux 用户。创建一个组并添加 Filemat 用户。还要添加应保留对该文件的访问权限的其他用户。为 Filemat 应管理的所有文件设置此组(和组权限)。可以以 root 身份运行 Filemat — 默认情况下,最敏感的文件会被完全阻止 — 但出于安全原因,不鼓励这样做。限制文件访问如果使用 Docker 运行 Filemat,请选择 Filemat 应能够访问的特定文件夹,而不是通过 Docker 卷公开整个文件系统。稍后使用 Docker compose 配置卷很容易。技术细节 后端:Spring Boot MVC (Kotlin) 前端:SvelteKit (Svelte 5),由后端静态构建并充当静态文件 数据库:SQLite(更多详细信息请参见此处) 其他技术细节请参见文件如何公开/保护 文件必须显式配置为公开,以便 Filemat 可以允许用户与其交互。默认情况下,应用程序数据文件夹被完全阻止,只能使用环境变量进行访问。符号链接可以切换。为了通过 Web UI 进行任何这些更改,用户必须具有对 Filemat 部署的 CLI 访问权限才能进行身份验证。环境变量会覆盖这些设置。欢迎在 GitHub 问题中贡献错误报告和功能请求。对于较大的更改,请先打开一个问题来讨论您要添加或更改的内容。