Skip to content

File Browser ​

介绍 ​

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

维护状态

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

Docker Compose ​

本文使用官方 S6 Overlay 镜像,通过 PUID 和 PGID 匹配宿主机用户,避免 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  # 写入当前用户的 UID、GID

创建 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 用户的随机密码,该密码只显示一次;登录后应立即修改密码。

更新 ​

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

bash
# 更新服务
docker compose pull   # 拉取配置标签的最新镜像
docker compose up -d  # 后台创建并启动服务

# 状态与日志
docker compose logs --tail 100 filebrowser  # 查看最近 100 行日志

安全注意事项 ​

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

参考 ​

基于 MIT 许可发布