乘着黑五打折,买了一个大盘鸡,准备再次搭建个人网盘,上次用 Seafile 搭建的网盘由于独服太贵,GIA 带宽又太小,没用多久就挂了。同时也发现 Seafile 虽然好,但并不适合自己,其实自己的需求很简单,甚至前段时间都是直接一个 http 单页浏览文件的,然而有时候也需要在线看一下文档,因此更需要一款轻量化的网盘工具,无意中发现了 File Browser,从介绍来看很不错,最近也对 Go 语言颇有好感,便安装来试一试。
官方有脚本安装,但个人喜欢自定义安装,同时本就是 Go 语言编写的程序,直接下载编译好的可执行文件运行即可。因此下面介绍在 Linux 上直接运行和使用 Docker 安装两种方式。
直接使用
首先去 release 页面,根据你的系统和处理器架构选择下载最新的版本,比如这里下载 amd64(X86-64) 2.18.0 版本:
wget https://github.com/filebrowser/filebrowser/releases/download/v2.18.0/linux-amd64-filebrowser.tar.gz
解压到你指定的目录,比如这里的 /home/filebrowser
:
tar -xvf linux-amd64-filebrowser.tar.gz -C /home/filebrowser
进入到你的目录为 filebrowser 添加可执行权限:
chmod +x filebrowser
接下来就直接运行了:
./filebrowser -p 2222
配置参数运行
在上面的直接运行命令中你可以加上一些自定义参数,在官方文档中可以看到完整的命令使用,下面是部分常用的的参数:
- -a, –address string:监听的地址(默认为 127.0.0.1)
- -p, –port string:监听端口(默认为 8080)
- -b, –baseurl string:网站路径
- -t, –cert string:SSL 证书
- -k, –key string:SSL 证书密钥
- -l, –log string:日志默认为标准输出,如果要记录到文件的话可以直接指定文件,例如
/home/filebrowser/filebrowser.log
- -c, –config string:配置文件路径
- -d, –database string:数据库路径(默认值 “./filebrowser.db”)
- -r, –root string:数据存放路径
这里我为了方便,选择自己写一个配置文件,vim filebrowser.json
:
{
"port": 2222,
"baseURL": "",
"address": "127.0.0.1",
"log": "stdout",
"database": "/home/filebrowser/database.db",
"root": "/data/filebrowser"
}
之后直接在程序目录执行:
./filebrowser -c filebrowser.json
然后在浏览器中打开你的网站登录即可,默认管理员用户和密码都为 admin
,建议登录后先重新设置密码。
使用 SSL
File Browser 本身支持直接在运行时使用 t
和 k
参数或者在配置文件中使用 cert
和 key
参数设置 SSL 证书和密钥。但我这里选择使用 Nginx 前端反代:
server {
listen ...;
server_name ...;
ssl_certificate ...;
ssl_certificate_key ...;
...
location / {
proxy_pass http://127.0.0.1:2222;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
如果你想使用二级目录,例如 yourdomain.com/file 的形式,需要修改前面配置文件中 "baseURL": "/file"
,以及 Nginx 配置文件中 location /file
。
后台持续化运行
可以简单使用直接 nohup:
nohup filebrowser -c filebrowser.json &
但我更推荐通过 systemd 控制:
vim /etc/systemd/system/filebrowser.service
输入以下内容:
[Unit]
Description=File Browser
After=network.target
[Service]
ExecStart=/home/filebrowser/filebrowser -c /home/filebrowser/filebrowser.json
[Install]
WantedBy=multi-user.target
记得修改 ExecStart 后面为你自己的文件路径,之后执行:
systemctl daemon-reload
- 运行:
systemctl start filebrowser.service
- 停止运行:
systemctl stop filebrowser.service
- 开机启动:
systemctl enable filebrowser.service
- 取消开机启动:
systemctl disable filebrowser.service
使用 Docker
如果你想使用 Docker 运行的话,也是比较方便的。
安装Docker
详情参见官网文档
apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加Docker密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
添加Docker稳定版仓库:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
安装Docker:
apt update
apt install docker-ce docker-ce-cli containerd.io
安装File Browser
详情参见官网文档
在适合的路径下创建数据库文件,例如:
touch /home/filebrowser/database.db
如果你需要自定义参数设置的话可以创建一个配置文件,具体的内容和我上面在直接使用方式中提到的配置文件写法一致,也可以直接在容器启动命令中设置。执行:
docker run \
-v /path/to/root:/srv \
-v /home/filebrowser/filebrowser.db:/database.db \
-v /home/filebrowser/filebrowser.json:/.filebrowser.json \
-v /path/to/yourssl.pem:/ssl.pem \
-v /path/to/yourssl.key:/ssl.key \
-p 2222:80 \
--name filebrowser \
--restart=always \
-d filebrowser/filebrowser
上面是带有配置文件的写法,不需要可以去掉第四行,而第二行的 /path/to/root
是你的数据存放目录,第五行和第六行是 SSL 证书路径,不需要的话也可以直接去掉。
运行之后就可以直接在浏览器中访问 http://yourdomain.com:2222
登录了,也可以通过上面提到的 Nginx 代理访问
总结
登录后可以在 Settings -> Profile Settings -> Language 中修改语言,支持中文。添加管理多用户,分享文件可以设置时效和密码,以及设置一些自定义操作命令。

整体体验下来界面 UI 一目了然,操作逻辑很简单,性能应该不差,功能不多但刚好满足自己的需求,支持简单的在线文档查看,以及音视频播放,可以配合 Aria2 下载在线观看学习资料,总体感觉不错,值得推荐。
如果你认为这篇文章还不错,可以考虑支持作者。