抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
1703940701053

00 File Browser是什么?

*filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app.

FileBrowser在指定目录中提供了一个文件管理界面,可用于上传,删除,预览,重命名和编辑文件。它允许创建多个用户,每个用户都可以有自己的目录。它可以用作独立的应用程序。*

File Browser是开源的文件管理服务,被用于远程管理不具备图形的界面。同时也可用于轻量网盘服务。本文主要使用Windows部署。
Filebrowser本身的部署与配置简单轻便,十分适合用于轻度的文件管理与网盘服务。Filebrowser在linux和windows系统都提供了服务端,也可以在Docker部署。本文主要记录使用Windows部署的过程。

传送门:Welcome to File Browser’s official documentation.


01 通过Docker部署

可以使用docker run命令快速地拉取镜像,配置端口,并挂载到想要的想要的目录。

  • 一个最简单的部署实例:
    1
    docker run --name filebrowser -d -v /mnt/md0/nas:/srv -p 8090:80 filebrowser/filebrowser
    这个容器会将nas目录挂载到filebrowser默认的文件目录,并且映射端口。

通常,在docker上除了配置端口、挂载文件目录以外,还会挂载.filebrowser.jsondatabase.db文件。这两个文件存储filebrowser的配置信息。这样即使容器被删除也能够保留配置。

  • .filebrowser.json文件保存容器内的filebrowser配置
  • database.db文件存储用户等数据。

先来看filebrowser.json配置:

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

如果不额外挂载json文件,那么容器启动时默认使用上述配置。
如果有额外的需要,那么修改json后挂载到容器并启动。
例如,当需要使用https协议时,将证书文件的位置写入json文件:

1
2
3
4
5
6
7
8
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database.db",
"root": "/srv"
"cert": "/tls/fullchain.crt",
"key": "/tls/privkey.key"

然后分别将主目录、database.db文件与json文件,连同证书目录一起挂载:

1
2
3
4
5
6
docker run --name filebrowser -d \
-v /mnt/md0/nas:/srv \
-v /mnt/md0/appdata/filebrowser/.filebrowser.json:/.filebrowser.json \
-v /mnt/md0/appdata/filebrowser/database.db:/database.db \
-v /mnt/md0/appdata/filebrowser/tls:/tls \
-p 8090:80 filebrowser/filebrowser

随后就可以使用https协议访问了。

注意:启用https协议后,http将被关闭,无法访问。
  • 如果使用.json文件出错的话,可以直接添加环境变量来配置。例如:
    1
    -e FB_BASEURL="/filebrowser"

02 在Linux上,通过ssh部署

作为单个可执行文件,只需要输入参数就可以立即启动。尽管如此,作为长期运行的话建议将配置存入json或db文件。

1
2
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
filebrowser -r /path/to/your/files

03 在Windows上部署

在windows上可以使用命令行便利地部署filebrowser。
Releases · filebrowser/filebrowser
在release页面上下载适用于本机架构的压缩文件后,解压为可执行文件,双击或者在命令行输入./filebrowser来运行。

1
2
.\filebrowser
Listening on 127.0.0.1:8080

这是一种最简便的部署方法。启用后便可以在本地通过8080端口访问,默认账户与密码均是admin

如果有更多需求需要配置,例如更改文件的网盘目录,我们需要对filebrowser进行配置。

1
2
3
4
5
6
.\filebrowser config init
# 初始化filebrowser数据库。如果报错,意味着filebrowser.db已存在。如果运行过filebrowser.exe,那么也会自动创建一个filebrowser.db。
.\filebrowser config set
# 显示配置选项。
.\filebrowser config set --root E:\
# 修改网盘的主目录。在这一例中,将目录设置为E盘根目录。

接下来就可以开始作为网盘/网页文件管理器使用了。更常见的是映射域名或者搭配内网穿透,作为服务器来使用。

04 配置Filebrowser的常用命令

1
2
3
4
5
6
filebrowser config init
# 第一次部署前的数据库初始化
filebrowser config set
# 列出数据库中的配置项目
filebrowser config set --port 8080
# 修改服务端口

05 在后台启停服务,并配置开机启动

如果不想看到运行时的命令行界面,可以使用vscript来制作两个简单的启停脚本。

  • 后台启动脚本:
    创建一个文本文档,重命名为autorun_filebrowser.vbs。
    在文档中输入并保存以下内容:
    1
    2
    3
    4
    Dim ws
    Set ws = Wscript.CreateObject("Wscript.Shell")
    ws.run "filebrowser.exe",vbhide
    Wscript.quit
  • 后台停止脚本:
    创建一个文本文档,重命名为autostop_filebrowser.vbs。
    在文档中输入并保存以下内容:
    1
    2
    3
    4
    Dim ws
    Set ws = Wscript.CreateObject("Wscript.Shell")
    ws.run "taskkill /f /im filebrowser.exe",0
    Wscript.quit
    由于使用的是相对路径,这两个文件需要放在filebrowser运行文件夹中。或者可以使用绝对路径,这样这两个脚本就可以放在本机任何地方——除非filebrowser软件被移动。
  • 配置开机启动:
    将autorun_filebrowser.vbs创建一个快捷方式并放入:C:\Users\<User>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录中。可以在Win+r中输入shell:startup来快速打开这个文件夹。
    这样就配置了filebrowser.exe的开机启动服务。可以在任务管理器>启动应用中设置开机自启的开关。

06 为Filebrowser配置美化(可选)

对于自定义部署的filebrowser,在官方文档中有三个位置可以自定义:

  • Name(名称): which is the instance name that will show up on login and signup pages. This won’t replace the version message in the sidebar.
  • Disable external links(禁用外部链接): this will disable any external links (except the ones to this documentation).
  • Folder(文件夹): is the path to a directory that can contain two items:

Windows

以部署在windows上的filebrowser为例——

  1. 更改名称:
  • 在管理员页面,进入设置>全局设置>实例名称中修改。这会修改登录页的标题与标签页的标题。
  • 或者,在命令行中输入filebrowser config set branding.name <自定义标题>并且重载。

  1. 更改logo与icon,甚至使用CSS配置网站样式
  • 前提是在设置>全局设置>品牌信息文件夹路径中定位一个目录。定位文件夹后,filebrowser会在该其中搜寻并代替原有的filebrowser图标,以下更改才会生效。
    或者,在命令行中输入filebrowser config set branding.files <自定义目录>并且重载。
  • 如果要更改Logo,就在该目录中创建img目录,并在img放入logo.svg并重载。这会改变登录登录页与主页左上角的图标。
  • 如果要更改icon,就在img中创建icons目录,并在icons中放入PNG文件并重载,这会改变标签页图标。注意:至少需要放置(16x16)与(32x32)两个分辨率不同的PNG文件,这项修改才会生效。
  • 如果要更改网站样式,则在品牌信息文件夹路径中放入CSS格式的文件。

  1. 关闭自定义链接:在设置>全局设置>禁止外部链接(帮助文档除外)项勾选后保存。
    或者,在命令行输入filebrowser config set --branding.disableExternal

注意:要使用命令行进行以上修改时,服务需在停止状态。

Docker

在docker中部署时,可以在页面中进行修改。
示例,若样式资源位于:

1
2
3
4
5
6
7
/DATA/AppData/filebrowser/branding
|-- img
|--- icons
|-- logo.ico
|-- logo.svg
|-- favicon.png
|-- logo.svg

设置>全局设置>品牌>品牌信息文件夹路径中应设置为:

1
/srv/AppData/filebrowser/branding/`

07 为Filebrowser配置内网穿透(可选)

filebrowser服务端默认在http开放8080端口,在https开放
传送门:Docker 使用Cerbot申请Let’s encrypt证书,并部署在filebrowser服务器

收尾

好像没有什么可说的?放一个Filebrowser的官方文档吧。
传送门:Welcome - File Browser

1703940701053

评论