Skip to content

🚀 使用 Docker Compose 部署 FileBrowser(Web 版文件管理器)

🚀 使用 Docker Compose 部署 FileBrowser

FileBrowser 是一款基于现代浏览器技术的 WEB 版多用户文件管理器,它可以通过浏览器对服务器上的文件进行管理,支持文件修改、添加、删除和分享,甚至可以作为一个轻量级的网盘使用。

📝 项目简介

FileBrowser 提供了简洁直观的 Web 界面,让您无需记忆复杂的命令行指令,就能轻松管理服务器文件。核心特点包括:

  • 跨平台管理:通过浏览器随时随地访问和管理文件
  • 多用户支持:可创建多个用户并分配不同权限
  • 文件分享:支持生成文件分享链接,方便文件分发
  • 在线预览:支持文本编辑、图片查看,甚至可在线播放 .mp4 视频
  • 权限控制:精细的权限管理,可控制上传、下载、删除等操作

🔧 部署前准备

在开始部署前,请确保您的环境满足以下要求:

系统环境要求 - 操作系统:支持 Linux、Windows、macOS - Docker 引擎:版本 20.10+ - Docker Compose:版本 2.0+ - 硬件资源:至少 512MB 内存,1GB 可用存储空间

环境检查

# 检查 Docker 服务状态
systemctl status docker

# 检查 Docker 版本
docker --version

# 创建部署目录
mkdir -p /home/compose/filebrowser && cd /home/compose/filebrowser

⚙️ 配置 Docker Compose

创建目录结构

mkdir -p srv config db

创建 docker-compose.yml 文件

#version: "3"
services:
  filebrowser:
    container_name: filebrowser  # 容器名称,便于管理(如停止/查看日志)
    image: filebrowser/filebrowser:latest  # 官方最新镜像(稳定可靠)
    restart: always  # 容器退出后自动重启(保障服务长期可用)
#    depends_on:
#      - mariadb
    volumes:
      #- /home/compose/filebrowser/config.json:/etc/config.json
      #- /home/compose/filebrowser/db/database.db:/etc/database.db
      # 1. 文件管理目录:本地 ./srv → 容器 /srv(上传的文件存这里,核心挂载!)
      - ./srv:/srv
      # 2. 配置文件:本地 ./config/config.json → 容器 /config/settings.json(加载自定义配置)
      - ./config/config.json:/config/settings.json
      # 3. 数据库文件:本地 ./db/database.db → 容器 /database.db(存储用户/权限数据)
      - ./db/database.db:/database.db
      #旧形式&新的引用目录下
      #- /home/compose/filebrowser/srv:/srv
      #- /home/compose/filebrowser/config/config.json:/config/settings.json
      #- /home/compose/filebrowser/db/database.db:/database.db
#    environment:
#      - DB_HOST=mariadb
#      - DB_USER=admin
#      - DB_PASS=admin
#      - DB_NAME=notepad
#      - DB_PORT=3306
#      - PGID=1000
#      - PUID=1000
#      - TZ=Aisa/Shanghai
    ports:
      # 端口映射:主机 3000 → 容器 80(通过主机 3000 端口访问 Web 界面)
      - "3000:80"

关键配置说明 - 镜像选择:使用官方 filebrowser/filebrowser:latest 镜像 - 端口映射3000:80 将容器内 80 端口映射到宿主机 3000 端口 - 数据持久化: - ./srv:/srv:文件存储目录(FileBrowser 的根目录) - ./config/config.json:/config/settings.json:配置文件 - ./db/database.db:/database.db:数据库文件 - 重启策略always 确保服务异常时自动恢复

创建配置文件config/config.json 文件中填入以下内容:

{
  "port": 80,
  "baseURL": "/",
  "address": "0.0.0.0",
  "locale": "zh-cn",
  "log": "stdout",
  "database": "/database.db",
  "root": "/srv",
  "config": "/config/settings.json",

}

配置文件说明:设置中文界面(zh-cn)、指定数据库路径和根目录。

🚀 启动与验证

启动服务

docker compose up -d

验证服务状态

# 检查容器状态
docker ps

# 查看服务日志
docker compose logs -f

访问 Web 界面 1. 打开浏览器,访问 http://你的服务器IP:3000 2. 使用默认账号密码登录(用户名:admin,密码:admin

🔌 基础配置与使用

首次登录配置 1. 登录后立即修改默认密码,提升安全性 2. 在设置中可切换界面语言为中文

文件管理操作 - 上传下载:支持拖拽上传和批量操作 - 在线编辑:直接编辑文本文件 - 文件分享:生成分享链接,设置有效期

用户权限管理 1. 创建新用户并分配特定目录权限 2. 设置不同的操作权限(查看、上传、删除、修改等)

# 命令行添加用户示例(需进入容器执行)
docker exec -it filebrowser filebrowser users add username password --perm.admin

🔌 基础配置与使用2

FileBrowser 界面简洁,核心功能围绕 “文件管理” 与 “用户权限”,新手可从以下操作入手:

1. 核心文件操作(上传 / 下载 / 编辑)

(1)上传文件 / 文件夹
  • 点击界面左上角「上传」按钮,选择本地文件 / 文件夹,即可上传到当前目录(默认保存在 ./srv 目录);
  • 支持拖放上传:直接将本地文件拖到浏览器界面,自动开始上传。
(2)下载文件 / 文件夹
  • 选中文件 / 文件夹,点击界面上方「下载」按钮,自动打包为 ZIP 格式下载(文件夹默认打包,文件直接下载)。
(3)编辑文本 / 代码文件
  • 右键点击文本文件(如 .txt.md.py),选择「编辑」,打开内置编辑器(支持代码高亮、换行符设置);
  • 编辑完成后点击「保存」,修改会实时同步到服务器 ./srv 目录。

2. 创建与管理文件夹

  • 点击界面左上角「新建文件夹」,输入文件夹名称(如 docsimages),即可在当前目录创建文件夹;
  • 支持文件夹重命名 / 删除:右键点击文件夹,选择「重命名」或「删除」,操作前会提示确认(避免误删)。

3. 用户与权限管理(进阶)

默认仅 admin 管理员用户,可创建子用户并分配权限(如给家人 “只读” 权限):

  1. 点击界面右上角「设置」图标(齿轮图标)→ 选择「用户管理」;
  2. 点击「新建用户」,填写信息:
    • 用户名:自定义(如 guest);
    • 密码:设置密码(如 Guest@123!);
    • 根目录:限制用户访问的目录(如 ./srv/guest,需先创建该文件夹);
    • 权限:选择「只读」(仅允许下载,禁止上传 / 删除)或「读写」(全权限);
  3. 点击「创建」,新用户即可通过 http://服务器IP:3000 登录,且仅能访问指定目录。

🛠️ 维护与管理

日常维护

# 服务启停
docker compose down
docker compose up -d

# 数据备份
tar -czf filebrowser-backup-$(date +%Y%m%d).tar.gz .

# 服务更新
docker compose pull
docker compose down
docker compose up -d

日志监控

# 查看实时日志
docker compose logs -f

# 监控资源使用
docker stats filebrowser

🐛 常见问题排查

1. 无法访问 Web 界面 - 现象:浏览器访问 http://IP:3000 无响应 - 解决: ```bash # 检查端口占用 netstat -tulpn | grep 3000

# 检查防火墙设置 ufw allow 3000 ```

2. 文件权限问题 - 现象:无法上传或修改文件 - 解决:检查挂载目录的权限,确保容器用户有读写权限

3. 容器启动失败 - 现象:容器状态为 Exited - 解决bash # 查看详细错误日志 docker compose logs

4. 中文显示乱码 - 解决:确保配置文件中 locale 设置为 zh-cn

按照本教程,您应该已经成功部署了 FileBrowser 文件管理系统。它的直观界面和丰富功能将极大简化服务器文件管理作业,让您享受便捷的 Web 端文件操作体验。