Skip to content

File Browser

介绍

File Browser 为指定目录提供 Web 文件管理界面,可用于上传、下载、预览、编辑、移动和删除文件。

维护状态

官方已公告 File Browser 将于 2026 年 9 月 1 日归档,之后不再发布版本或安全修复。不建议将其用于新的公网服务;已有部署应限制访问范围,并评估后续替代方案。

Docker Compose

本文使用官方 S6 Overlay 镜像,通过 PUIDPGID 匹配宿主机用户,避免 bind mount 的常见权限问题。

创建部署目录,并将当前用户的 UID、GID 写入 .env

bash
mkdir -p ~/apps/filebrowser/{files,database,config}
cd ~/apps/filebrowser
printf 'PUID=%s\nPGID=%s\n' "$(id -u)" "$(id -g)" > .env

创建 compose.yml

yaml
services:
  filebrowser:
    image: filebrowser/filebrowser:s6
    container_name: filebrowser
    restart: unless-stopped
    ports:
      - '8080:80'
    environment:
      PUID: '${PUID}'
      PGID: '${PGID}'
    volumes:
      - ./files:/srv
      - ./database:/database
      - ./config:/config

挂载目录说明:

宿主机目录容器目录用途
./files/srvFile Browser 管理的文件。
./database/database用户、权限等数据库数据。
./config/configFile Browser 配置。

需要管理已有目录时,将 ./files:/srv 替换为实际路径,例如 /data/share:/srv。如果只允许浏览和下载,可以使用 /data/share:/srv:ro

启动服务:

bash
docker compose up -d
docker compose logs filebrowser

访问 http://<服务器地址>:8080。首次启动会在日志中显示 admin 用户的随机密码,该密码只显示一次;登录后应立即修改密码。

更新

更新前应备份 databaseconfig 目录。生产环境建议使用经过验证的固定版本标签,避免不可控升级。

bash
docker compose pull
docker compose up -d
docker compose logs --tail 100 filebrowser

安全注意事项

  • File Browser 可以读写 /srv 中的内容,只挂载确实需要管理的目录,不要挂载宿主机根目录或其他敏感路径。
  • 不要启用匿名认证或开放用户自助注册。默认关闭的命令执行功能也不应随意开启。
  • File Browser 不内置暴力破解防护。对外提供服务时,应在反向代理中启用 HTTPS、访问控制和登录限速。
  • .envdatabaseconfig 包含部署及账户信息,不应提交到公开仓库。

参考

基于 MIT 许可发布