跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Docker 部署 File Browser 文件管理系统

Docker 部署 File Browser 文件管理系统。通过创建配置文件和数据库文件,使用 Docker 命令启动容器并挂载数据目录。系统支持多用户权限管理、文件上传删除及在线预览。若遇到端口绑定权限错误,建议更改为非特权端口如 8080。

落日余晖发布于 2026/3/16更新于 2026/10/25115 浏览
Docker 部署 File Browser 文件管理系统

1. 概述

官网:https://filebrowser.org/ GitHub:https://github.com/filebrowser/filebrowser

File Browser 是一款开源的私有云盘项目,具有以下特点:

  • 跨平台支持:适用于多种操作系统。
  • 轻量级:安装部署简单快捷,配置要求低。
  • 高效性能:基于 Go 语言开发,运行速度快。
  • 可视化操作:提供简洁易用的网页版文件管理器,支持文件和文件夹操作、在线预览、共享链接等。
  • 用户认证:支持用户管理、权限设置和范围控制。
  • 自定义命令:支持 Shell 命令执行

2. 功能特性

  • 多语言支持:默认支持中文。
  • 文件管理:上传、删除、重命名、编辑文件。
  • 用户管理:创建和管理多个用户,每个用户可拥有独立目录。

个性化设置:修改系统名称和 Logo。

3. 安装

docker 镜像地址:https://hub.docker.com/r/filebrowser/filebrowser 详细安装说明见 https://filebrowser.org/installation

3.1. 生成 setting.json 文件

{
  "port": 8080,
  "baseURL": "",
  "address": "",
  "log": "stdout",
  "database": "/database/filebrowser.db",
  "root": "/srv"

}

注意:

  1. port 为容器端口,官方文档中设置的是 80 端口。个人建议设置为 8080,这样当容器以非 root 身份运行时,也可以监听成功。而如果设置为 80,那么容器只能以 root 身份运行。
  2. "root":"/srv":为容器内的网盘目录,建议设置为 /srv。

3.2. 创建一个空的 filebrowser.db 文件

mkdir -p ./data
touch filebrowser.db

3.3. 运行容器

# -v $CURRENT_DI/opt/filebrowser/data:/srv: 将宿主机目录挂载到容器内的/srv 目录,这是网盘的数据目录
docker run \
  -v /opt/filebrowser/data:/srv \
  -v /opt/filebrowser/filebrowser.db:/database/filebrowser.db \
  -v /opt/filebrowser/setting.json:/config/settings.json \
  -u $(id -u):$(id -g) \
  -p 8080:8080 \
  -d \
  --name filebrowser-server \
  --restart=unless-stopped \
  filebrowser/filebrowser

3.4. 访问

浏览器访问地址:http://<服务器 IP>:8080/files,请将 <服务器 IP> 替换为自己服务器 IP 地址。

[root@localhost filebrowser]# docker logs filebrowser-server
2025/12/29 11:47:55 Using config file: /config/settings.json
2025/12/29 11:47:55 WARNING: filebrowser.db can't be found. Initializing in /database/
2025/12/29 11:47:55 Using database: /database/filebrowser.db
2025/12/29 11:47:55 Performing quick setup
2025/12/29 11:47:55 User 'admin' initialized with randomly generated password: 1_vq2yzAkooehgNf
2025/12/29 11:47:55 Listening on [::]:8080

可以通过日志查看到用户名 admin 和密码 1_vq2yzAkooehgNf,注意每个人密码不一致,请替换成自己的密码。

3.5. 功能介绍

支持在线查看 pdf 文件,图片,视频,txt 文档,目前无法查看 office 文件,分享后,可以发送分享链接给用户,支持多用户多权设置。

4. 常见问题

4.1. listen tcp :80: bind: permission denied

由于在 docker run 时使用了参数 -u $(id -u):$(id -g),这使得 FileBrowser 以非特权用户身份运行。在容器内部尝试绑定到 80 端口仍然需要特权,从而导致 bind: permission denied 错误。

解决方案:更改容器内的监听端口。最简单的方法是让 FileBrowser 监听一个大于 1024 的端口,比如 8080。

目录

  1. 1. 概述
  2. 2. 功能特性
  3. 3. 安装
  4. 3.1. 生成 setting.json 文件
  5. 3.2. 创建一个空的 filebrowser.db 文件
  6. 3.3. 运行容器
  7. -v $CURRENT_DI/opt/filebrowser/data:/srv: 将宿主机目录挂载到容器内的/srv 目录,这是网盘的数据目录
  8. 3.4. 访问
  9. 3.5. 功能介绍
  10. 4. 常见问题
  11. 4.1. listen tcp :80: bind: permission denied

更多推荐文章

查看全部
  • FunASR 离线文件转写服务开发指南(实践篇)
  • 荣耀发布 Robot Phone 与人形机器人 ROBOT,探索 AI 硬件生态
  • 我如何用AI生成ERC20合约交互和监控代码
  • 挖 SRC 时的信息收集方法与工具实践
  • VSCode GitHub Copilot 插件无法加载模型的解决方案
  • 利用 AI 快速开发 APP 下载统计功能
  • OpenClaw ACP 协议深度解析:IDE 直接驱动 AI Agent
  • 基于大语言模型的需求依赖检测方法 LEREDD 实现高精度与强鲁棒性
  • 基于APF-RRT*算法的无人机避障与高效轨迹规划
  • 银行大模型应用现状与落地进展分析
  • Git 版本控制完全指南:从入门到实践
  • Moon VR Video Player 中文版评测:支持 8K/12K 多音轨及外挂字幕
  • Mac Big Sur 使用 Docker 运行 OpenCode 实现 AI 自动化开发流程
  • 2024 大模型学习路线:从原理到微调与行业应用实战
  • Android Studio 安装与 SDK、JDK、Gradle 配置详解
  • 通义万相 2.1 助力 AIGC 创作,多模态生成技术解析
  • AI 大模型核心概念、原理与应用全景解析
  • 深入解析 Spring AOP 原理
  • Java 统计子字符串在父字符串中的出现次数
  • 边缘 AI 技术详解:从概念到终端部署实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online