Docker 安装filebrowser ,搭建私有网盘NAS,方便易用

1. 说明

filebrowser 是一个开源的网盘,可以搭建私有网盘,可以用来存放一些文件,比如图片,视频,文档等。
详细功能介绍见 https://filebrowser.org/features

简易登陆界面
在这里插入图片描述

通过时尚的界面管理您的文件
在这里插入图片描述

用户及权限管理
在这里插入图片描述

在线编辑文件
在这里插入图片描述

2. 安装

docker镜像地址: https://hub.docker.com/r/filebrowser/filebrowser
详细安装说明见 https://filebrowser.org/installation

2.1. 生成setting.json文件

{
  "port": 8080,
  "baseURL": "",
  "address": "",
  "log": "stdout",
  "database": "/database/filebrowser.db",
  "root": "/srv"
}

注意

  1. port 为容器端口,官方文档中设置的是80端口。个人建议设置为8080,这样当容器以非root身份运行时,也可以监听成功。而如果设置为80,那么容器只能以root身份
  2. “root”:“/srv” : 为容器内的网盘目录,建议设置为/srv。

2.2. 创建一个空的filebrowser.db 文件

mkdir -p ./data
touch filebrowser.db

2.3. 运行容器

CURRENT_DIR=$(cd `dirname $0`;pwd)
cd $CURRENT_DIR

mkdir -p ./data
# 如果 filebrowser.db 不存在, 则 touch

if [ ! -f "./data/filebrowser.db" ];then
    touch "./data/filebrowser.db" 
fi 

docker  rm -f filebrowser-server

# -v $CURRENT_DIR/data:/srv : 将宿主机目录挂载到容器内的/srv目录,这是网盘的数据目录 
docker run \
    -v $CURRENT_DIR/data:/srv \
    -v $CURRENT_DIR/data/filebrowser.db:/database/filebrowser.db \ 
    -v $CURRENT_DIR/settings.json:/config/settings.json 
    -u $(id -u):$(id -g) \
    -p 8080:8080 \
    -d \
    --name filebrowser-server \
    --restart=unless-stopped \
    filebrowser/filebrowser 

2.4. 访问

浏览器访问地址:http://192.168.1.103:8080,将IP替换为自己服务器IP地址

初始帐号信息
admin : admin

3. 问题

3.1. listen tcp :80: bind: permission denied

由于在docker run 时使用了参数:

 -u $(id -u):$(id -g)

这使得FileBrowser以非特权用户身份运行。在容器内部尝试绑定到80端口仍然需要特权,从而导致bind: permission denied错误。

解决方案:
更改容器内的监听端口:最简单的方法是让FileBrowser监听一个大于1024的端口,比如8080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值