FileBrowser安装与配置完整指南:搭建自己的Web文件管理器

前言

FileBrowser是一个轻量级的Web文件管理器,支持文件浏览、上传、下载、在线编辑等功能。本文将详细介绍如何使用Docker部署FileBrowser,并通过Nginx反向代理实现HTTPS访问。

什么是FileBrowser?

FileBrowser是一个开源的Web文件管理器,主要特性包括:

  • 📁 文件管理:浏览、上传、下载、删除、重命名文件
  • ✏️ 在线编辑:内置代码编辑器,支持语法高亮
  • 👥 多用户支持:可创建多个用户,设置不同权限
  • 🎨 现代化界面:响应式设计,移动端友好
  • 🔒 权限控制:精细的用户权限管理
  • 📱 移动端适配:手机也能流畅使用

为什么选择Docker部署?

相比直接安装,Docker部署有以下优势:

对比项 Docker部署 直接安装
部署速度 1分钟 ✅ 5-10分钟
环境隔离 ✅ 完全隔离 ❌ 可能冲突
升级维护 ✅ 简单 ❌ 复杂
资源占用 ✅ 低 ✅ 低
可移植性 ✅ 高 ❌ 低

安装步骤

1. 准备工作

1.1 安装Docker

如果还没有安装Docker,请先安装:

1
2
3
4
5
6
7
8
9
# Ubuntu/Debian
curl -fsSL https://get.docker.com | bash

# 启动Docker
systemctl start docker
systemctl enable docker

# 验证安装
docker --version

1.2 创建配置目录

1
2
3
# 创建FileBrowser配置目录
mkdir -p /root/.filebrowser/config
mkdir -p /root/.filebrowser/database

2. 部署FileBrowser

2.1 拉取镜像

1
docker pull filebrowser/filebrowser:latest

2.2 创建配置文件

创建配置文件 /root/.filebrowser/config/settings.json

1
2
3
4
5
6
7
8
{
"port": 80,
"baseURL": "/files",
"address": "",
"log": "stdout",
"database": "/database/filebrowser.db",
"root": "/srv/root"
}

配置说明:

  • port: 容器内端口,默认80
  • baseURL: 访问子路径,用于反向代理
  • database: 数据库文件路径
  • root: 文件根目录

2.3 启动容器

方案A:基本部署(访问指定目录)

1
2
3
4
5
6
7
8
9
docker run -d \
--name filebrowser \
-v /root/.openclaw/workspace:/srv \
-v filebrowser-database:/database \
-v /root/.filebrowser/config:/config \
-p 127.0.0.1:8080:80 \
--restart unless-stopped \
--user 0:0 \
filebrowser/filebrowser:latest

方案B:完全访问(访问整个服务器)

1
2
3
4
5
6
7
8
9
docker run -d \
--name filebrowser \
-v /:/srv/root \
-v filebrowser-database:/database \
-v /root/.filebrowser/config:/config \
-p 127.0.0.1:8080:80 \
--restart unless-stopped \
--user 0:0 \
filebrowser/filebrowser:latest

参数说明:

  • -v /:/srv/root: 挂载根目录到容器的/srv/root
  • -v filebrowser-database:/database: 数据库持久化
  • -v /root/.filebrowser/config:/config: 配置文件挂载
  • -p 127.0.0.1:8080:80: 端口映射(仅本地访问)
  • --restart unless-stopped: 自动重启
  • --user 0:0: 以root用户运行(完全权限)

2.4 查看初始密码

1
2
# 查看日志获取初始密码
docker logs filebrowser 2>&1 | grep "password"

输出示例:

1
User 'admin' initialized with randomly generated password: Z58Mnq1ZCmcDamrU

3. 配置Nginx反向代理

3.1 Nginx配置

在Nginx配置文件中添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# FileBrowser - Web File Manager
location = /files {
return 301 /files/;
}

location /files/ {
proxy_pass http://127.0.0.1:8080/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}

3.2 重载Nginx

1
2
3
4
5
# 测试配置
nginx -t

# 重载配置
nginx -s reload

4. 访问FileBrowser

4.1 访问地址

1
https://your-domain.com/files/

4.2 默认登录信息

  • 用户名: admin
  • 密码: 从日志中获取的随机密码

5. 首次登录配置

5.1 修改密码

  1. 登录后点击左上角菜单(三条横线)
  2. Settings → User Management
  3. 点击 admin 用户
  4. 输入新密码并保存

5.2 创建新用户(可选)

  1. Settings → User Management
  2. 点击 “New User”
  3. 填写用户名、密码
  4. 设置权限范围(Scope)
  5. 选择权限(Admin、Modify、Access等)
  6. 保存

高级配置

1. 权限范围配置

FileBrowser支持对不同用户设置不同的访问范围:

1
2
3
# 用户A只能访问 /home/userA
# 用户B只能访问 /var/www
# Admin可以访问整个服务器

配置方法:

在用户管理中设置:

  • Scope: 设置用户的根目录(相对于FileBrowser的root)
  • Permissions: 设置权限级别

2. 多目录挂载

如果需要访问多个目录,可以挂载多个卷:

1
2
3
4
5
6
7
8
9
10
11
docker run -d \
--name filebrowser \
-v /:/srv/root \
-v /home:/srv/home:ro \
-v /var/www:/srv/www \
-v filebrowser-database:/database \
-v /root/.filebrowser/config:/config \
-p 127.0.0.1:8080:80 \
--restart unless-stopped \
--user 0:0 \
filebrowser/filebrowser:latest

3. HTTPS配置

通过Nginx反向代理实现HTTPS:

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 443 ssl http2;
server_name your-domain.com;

ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;

location /files/ {
proxy_pass http://127.0.0.1:8080/;
# ... 其他配置
}
}

4. 性能优化

4.1 限制上传大小

在Nginx配置中添加:

1
client_max_body_size 10G;

4.2 启用缓存

1
2
3
4
5
location /files/static/ {
proxy_pass http://127.0.0.1:8080/static/;
proxy_cache_valid 200 1d;
expires 1d;
}

管理命令

查看状态

1
docker ps | grep filebrowser

查看日志

1
docker logs filebrowser -f

重启服务

1
docker restart filebrowser

停止服务

1
docker stop filebrowser

启动服务

1
docker start filebrowser

更新版本

1
2
3
4
5
6
7
8
# 拉取最新镜像
docker pull filebrowser/filebrowser:latest

# 停止并删除旧容器
docker rm -f filebrowser

# 启动新容器(使用之前的命令)
docker run -d ...

常见问题

1. 登录后显示空白页

原因: baseURL配置不正确

解决方案:

检查配置文件中的baseURL是否与nginx配置一致:

1
2
3
{
"baseURL": "/files"
}

Nginx配置:

1
2
3
location /files/ {
proxy_pass http://127.0.0.1:8080/;
}

2. 无法上传大文件

原因: Nginx限制了上传大小

解决方案:

在Nginx配置中添加:

1
client_max_body_size 10G;

3. 权限被拒绝

原因: 容器用户权限不足

解决方案:

添加--user 0:0参数以root用户运行:

1
docker run -d --user 0:0 ...

4. 文件编辑后无法保存

原因: 文件权限问题

解决方案:

检查文件权限:

1
2
ls -la /path/to/file
chmod 644 /path/to/file

安全建议

1. 修改默认密码

首次登录后立即修改admin密码。

2. 使用HTTPS

通过Nginx反向代理配置SSL证书。

3. 限制访问IP

在Nginx中配置IP白名单:

1
2
3
4
5
location /files/ {
allow 192.168.1.0/24;
deny all;
# ...
}

4. 定期备份

定期备份数据库文件:

1
docker cp filebrowser:/database/filebrowser.db /backup/

5. 最小权限原则

为普通用户分配最小必要权限,避免使用admin账户进行日常操作。

总结

FileBrowser是一个功能强大且易于使用的Web文件管理器,通过Docker部署可以快速搭建并投入使用。配合Nginx反向代理,可以实现安全的HTTPS访问。

主要优势:

  • ✅ 部署简单,1分钟完成
  • ✅ 资源占用低(~10MB内存)
  • ✅ 功能完善,满足日常需求
  • ✅ 支持多用户权限管理
  • ✅ 移动端友好

适用场景:

  • 个人文件管理
  • 团队文件共享
  • 服务器文件管理
  • 开发环境文件编辑

参考资料


部署完成!享受你的Web文件管理器吧! 🚀


FileBrowser安装与配置完整指南:搭建自己的Web文件管理器
https://dapalm.com/2026/03/03/filebrowser-installation-guide/
作者
Mars
发布于
2026年3月3日
许可协议