Docker 部署 File Browser 文件管理系统

File Browser

今天为大家分享一款开源的私有云盘项目:File Browser,简单实用、轻量级、跨平台,安装部署简单快捷,自带网页版文件管理器,基于 Go 语言开发,运行速度快。

1、概述

官网:https://filebrowser.org/
GitHub:https://github.com/filebrowser/filebrowser

File Browser 是一款开源的私有云盘项目,具有以下特点:

  • 跨平台支持:适用于多种操作系统。
  • 轻量级:安装部署简单快捷,配置要求低。
  • 高效性能:基于 Go 语言开发,运行速度快。
  • 可视化操作:提供简洁易用的网页版文件管理器,支持文件和文件夹操作、在线预览、共享链接等。
  • 用户认证:支持用户管理、权限设置和范围控制。
  • 自定义命令:支持 Shell 命令执行

img

2、功能特性

  • 多语言支持:默认支持中文。
  • 文件管理:上传、删除、重命名、编辑文件。
  • 用户管理:创建和管理多个用户,每个用户可拥有独立目录。
  • 个性化设置:修改系统名称和 Logo。
  • 在线体验:官方演示地址(https://demo.filebrowser.org/),用户名和密码均为 demo。

image-20241223195634319

3、Docker 环境准备

安装 Docker 软件包
# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker
检查 Docker 服务状态
systemctl status docker

image.png

开启 IPv4 forwarding
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward
安装 Docker-Compose
下载 Docker-Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
给文件增加执行权限
chmod +x /usr/local/bin/docker-compose
检查 Docker-Compose 版本
docker-compose -v

image.png

4、部署File Browser

docker pull filebrowser/filebrowser
方式一:使用 Docker-Cli 部署
# 创建数据存储目录
mkdir -p /docker/filebrowser/{srv,config,db}
docker run -d --name filebrowser --restart always -v /docker/filebrowser/srv:/srv -v /docker/filebrowser/config/config.json:/etc/config.json -v /docker/filebrowser/db/database.db:/etc/database.db -p 8080:80 filebrowser/filebrowser

容器说明

服务器文件夹容器文件夹说明
/docker/filebrowser/srv/srv文件存放位置
/docker/filebrowser/filebrowser.db/database/filebrowser.db数据库
/docker/filebrowser/settings.json/config/settings.json配置文件
方式二:使用 docker-compose.yaml 部署
创建数据目录
mkdir -p /docker/filebrowser/{srv,config,db}
目录授权
chmod -R 777 /docker/filebrowser/
编辑 docker-compose.yaml 文件
[root@blog filebrowser] vim docker-compose.yaml
version: "3"
services:
  filebrowser:
    container_name: filebrowser
    image: filebrowser/filebrowser:latest
    restart: always
#    depends_on:
#      - mariadb
    volumes:
      - /data/filebrowser/srv:/srv
      - /data/filebrowser/config/config.json:/etc/config.json
      - /data/filebrowser/db/database.db:/etc/database.db
    ports:
      - "8080:80"
    networks:
      - filebrowser
networks:
    filebrowser:
运行 File Browser 容器
# 基于 docker-compose.yaml 启动并运行服务
docker compose -f docker-compose.yaml up -d
验证 File Browser 容器状态
docker ps -a

image.png

5、访问 File Browser

部署好之后我们就可以通过浏览器的方式打开了,打开方式依然为 本地IP:端口号。( 此处端口为 8080 )
首次打开需要输入账号密码,File Browser 文件管理器的初始账号和密码分别为:admin/admin。

image.png
image.png

6、File Browser 基本操作

语言切换

登录之后默认的语言界面是英文,好在 File Browser 文件管理器原生支持中文

点击 Settings,找到 Language 选项,选择 简体中文,然后点击 UPDATE 即可切换为中文

image.png

基本使用

可实现 上传、删除、预览、重命名 和 编辑 文件

允许创建多个用户,每个用户可以有自己的目录。

image.png
image.png

图片效果

image-20241223200020448

视频效果

image.png

用户注册

点击 全局设置,勾选 允许用户注册 和 在添加新用户的同时自动创建用户的个人目录,并在右边的用户默认设置中把 目录范围 里面的内容清空,如果不清空这里面的内容会导致 在添加新用户的同时自动创建用户的个人目录 这个选项没用,然后把语言修改为中文并分配相应的权限,之后点击 **更新 **进行保存,这里修改了全局设置板块和默认用户设置板块,所以需要保存两次,每个板块都有单独的 **更新 **按钮。

image.png

再重新打开前端页面就可以看到 **创建用户 **选项啦

image.png

个性化

如果需要修改系统名称和 系统 Logo 的话可以在设置中的全局设置里面的 **实例名称 **和 **品牌信息文件夹路径 **来实现,修改完成后几点点击对应板块的 **更新 **按钮进行更新

image.png

大功告成~

### 使用Docker部署文件管理系统 为了使用Docker部署文件管理系统,可以遵循一系列操作来确保应用程序正常运行并能够访问存储资源。下面提供了一个基于`docker stack deploy`命令的方法[^2]。 #### 准备工作环境 在开始之前,确认已安装好Docker,并启动服务以及设置开机自启功能。这可以通过执行如下指令完成: ```bash systemctl start docker systemctl enable docker ``` 这些命令会激活Docker守护进程并且配置它随操作系统一同启动[^3]。 #### 编写 `docker-compose.yml` 文件 创建一个名为`docker-compose.yml`的文件,在其中定义所需的服务组件及其参数。对于文件管理系统而言,通常至少需要两个主要部分:一个是Web前端界面用于用户交互;另一个则是实际处理文件读写的后端逻辑层。此外还需要考虑数据持久化方案,比如挂载主机目录作为容器内的卷路径。 这里给出一段简单的YAML模板供参考(假设采用Nextcloud作为实例): ```yaml version: '3' services: web: image: nextcloud:fpm-alpine restart: always volumes: - ./data:/var/www/html environment: - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=mysqluser - MYSQL_PASSWORD=mysqlpassword db: image: mariadb:latest restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: nextcloud MYSQL_USER: mysqluser MYSQL_PASSWORD: mysqlpassword volumes: - ./db:/var/lib/mysql nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro ``` 此配置包含了三个服务单元——web服务器、数据库引擎和反向代理器。通过指定外部映射关系(`volumes`)实现了本地磁盘空间与容器内部位置之间的关联绑定,从而保障了即使重启也不会丢失任何重要资料。 #### 部署应用堆栈 当所有的准备工作完成后,就可以利用`docker stack deploy`工具来进行集群化的部署活动了。具体来说就是输入以下语句: ```bash docker stack deploy -c docker-compose.yml my_file_manager_stack_name ``` 上述命令将会依据所提供的组合描述文档自动拉取镜像、构建网络结构并启动相应的微服务节点群组。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值