套话
简约,极简主义
同样,文件服务器也要轻量
因此放弃了 min.io
尝试使用 FileBrowser
安装
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
配置
创建配置数据库:filebrowser -d /etc/filebrowser.db config init
设置监听地址:filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0
设置监听端口:filebrowser -d /etc/filebrowser.db config set --port 8080
设置语言环境:filebrowser -d /etc/filebrowser.db config set --locale zh-cn
设置日志位置:filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log
添加一个用户:filebrowser -d /etc/filebrowser.db users add chunxiao.li 123456 --perm.admin
启动
filebrowser -d /etc/filebrowser.db
后台启动:
nohup filebrowser -d /etc/filebrowser.db 2>&1 &
使用
ip + 端口即可访问
注意有防火墙的放开对应端口
使用刚才创建的账号密码登录
登录后默认是用户当前目录,比如我直接用的 root 操作的,那么就是 /root 目录,需要调整一下
比如我的统一放到这里了:./filebrowser_data
打开设置 –> 用户管理 –> 目录范围 中直接输入目录地址
NG域名反代
基于宝塔做的
新增网站:
io.xxx
修改
SSL
,证书在申请完域名后就搞,https://letsencrypt.osfipin.com
设置 –> 配置文件
新增 location
location / { proxy_pass http://ip:端口; }
在上面两个 location 里面也加上这个 proxy_pass
使用问题
发现了这个属于那种网盘风格的
其实我想做的是类似于那种 oss 的,不过目前用这个也能实现,就是麻烦了点儿
- 共享生成地址
- 点进去后点那个查看的链接,就可以直接用了
基于 Docker 的安装配置使用
官方提供的有 docker 镜像:https://hub.docker.com/r/filebrowser/filebrowser
官方启动 docker 方式:
docker run \
-v /path/to/root:/srv \
-v /path/to/filebrowser.db:/database/filebrowser.db \
-v /path/to/settings.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
filebrowser/filebrowser:s6
解释:
第一行的 -v,指的是文件存储的根目录,也就是说镜像中的根目录是在 /srv,自己找个主机目录映射上就成
第二行的 -v,指的是 db 文件,指的是根数据的位置,自己找个主机文件映射上就成
第三行的 -v,指的是配置文件,同上
随后的两行 -e,指的是运行账号,我并没有指定
-p,端口号,说明镜像中的端口使用的是 80
最后的是用哪个镜像,s6的版本号
最后看我的启动方式,我担心记不住这些命令,因此弄成 compose 的方式了:
version: '1'
services:
filebrowser:
image: filebrowser/filebrowser
ports:
- "8080:80"
volumes:
- /root/filebrowser_data:/srv
- /root/dockers/filebrowser/filebrowser.db:/database/filebrowser.db
- /root/dockers/filebrowser/settings.json:/config/settings.json
restart: always
启动
在这个文件的根目录中执行:
docker-compose up -d
对了,配置中不指定用户名和密码的,默认可以用 admin 登录,账号密码都是这个,进去之后可以给自己建账号,下次就可以直接用自己的账号进了