N1安装File Browser 轻量网盘工具

折腾了好久的N1,尝试过各种面板,都不太理想,最后还是开始用各种独立软件来搭建自己的服务。
我的N1都是硬改过的内存128/64Gb 可以做一个小的云盘来使用,当然也可以挂一个硬盘来用。

官方有脚本安装,但个人喜欢自定义安装,同时本就是 Go 语言编写的程序,直接下载编译好的可执行文件运行即可。因此下面介绍在 Linux 上直接运行的方式。

安装

首先去 release 页面,根据你的系统和处理器架构选择下载最新的版本,比如这里下载 linux-arm64-filebrowser.tar.gz 版本:

wget https://github.com/filebrowser/filebrowser/releases/download/v2.30.0/linux-arm64-filebrowser.tar.gz

解压到你指定的目录,比如这里的 /home/filebrowser:

tar -xvf linux-arm64-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 常用操作

运行:systemctl start filebrowser.service
停止运行:systemctl stop filebrowser.service
开机启动:systemctl enable filebrowser.service
取消开机启动:systemctl disable filebrowser.service