使用 Docker 部署 File Browser 文件管理系统

1)File Browser 介绍

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

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

img

2)File Browser 功能

  • 开源跨平台,支持中文

  • 简单实用、轻量级、运行速度快

  • 部署简单,配置要求低

  • 可视化操作,界面简洁,操作简单

  • 文件、文件夹操作、文件在线预览、共享链接

  • 用户认证,管理用户、添加权限、设置范围

  • 支持 Shell,执行自定义命令

    官网在线体验地址:
    https://demo.filebrowser.org/
    用户名: demo
    密码: demo

    image.png

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

4)安装 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

5)下载 File Browser 镜像

docker pull filebrowser/filebrowser

6)方式一:使用 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配置文件

7)方式二:使用 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
#    environment:
#      - DB_HOST=mariadb
#      - DB_USER=admin
#      - DB_PASS=admin
#      - DB_NAME=notepad
#      - DB_PORT=3306
#      - PGID=1000
#      - PUID=1000
#      - TZ=Aisa/Shanghai
    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

8)访问 File Browser

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

image.png
image.png

9)File Browser 基本操作

中文语言

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

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

image.png

基本使用

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

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

image.png
image.png

图片效果

image.png

视频效果

image.png

用户注册

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

image.png

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

image.png

个性化

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

image.png

大功告成~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/432910.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day 6.有名信号量(信号灯)、网络的相关概念和发端

有名信号量 1.创建: semget int semget(key_t key, int nsems, int semflg); 功能:创建一组信号量 参数:key:IPC对像的名字 nsems:信号量的数量 semflg:IPC_CREAT 返回值:成功返回信号量ID…

职场中的团队合作:如何建立高效的团队协作

在职场中,团队合作是至关重要的。一个高效的团队可以协同工作,共同实现目标,提高工作效率,创造出卓越的成果。然而,建立一个高效的团队并不容易,需要团队成员之间的良好沟通、相互信任和合作。本文将分享一…

Java核心技术卷1——运算符 每日笔记

3.5 运算符 运算符用于连接值。 3.5.1算数运算符 在Java中,使用算术运算符、-、*、/表示加、减、乘、除运算。 当参与/运算的两个操作数都是整数时,表示整数除法; 否则表示浮点数除法。 整数的求余(取模)操作用%表示…

Laravel Octane 和 Swoole 协程的使用分析二

又仔细研究了下 Octane 源码和 Swoole 的文档,关于前几天 Laravel Octane 和 Swoole 协程的使用分析中的猜想,得到进一步验证: Swoole 的 HTTP Server 启动后会创建一个 master 进程和一个 manager 进程;master 进程又会创建多个…

《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P27 在线会话测试(Testing An Online Session)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主&#xff0…

山海鲸可视化软件实战:如何制作一个高效的商品销售数据看板

作为一名数据分析师,我经常需要通过各种工具将数据转化为有价值的信息,为公司的决策提供支持。最近,我使用山海鲸可视化软件制作了一个商品销售数据看板,山海鲸可视化是一款可以免费可视化编辑、免费私有化部署的产品。下面&#…

6_怎么看原理图之协议类接口之LCD笔记

首先想一想再前几篇文章讲的协议类的前提 1、双方约定好通信的协议 2、双方满足一定的时序要求 以上第二点又有一些要求: 1)弄清2440在这个通信协议中,能设置哪些时序的值,这些值的含义是什么——2440手册 2)弄清楚这…

一文详解:Open SSL

Open SSL是 SSL (传输层安全)和 TLS (传输层安全)协议的健壮的开源实现。这些加密协议被广泛用于保护计算机网络上的通信,通过在两个通信应用程序之间提供隐私和数据完整性。从更实际的角度来说,OpenSSL 是一个工具包,其中包含各种命令行实用…

学习JAVA的第十四天(基础)

目录 Collection集合 迭代器遍历 增强for遍历 Lambda表达式遍历 List集合 遍历 数据结构 栈 队列 数组 链表 前言: 学习JAVA的第十三天 Collection集合 Collection的遍历方式: 迭代器(不依赖索引)遍…

当磁盘无法读取时,这样做能拯救你的数据!

一、遭遇磁盘无法读取的困境 在现代社会中,磁盘已成为我们存储和传输数据的重要工具。然而,当磁盘突然无法读取时,我们可能会面临数据丢失的风险,这无疑是一个令人头疼的问题。磁盘无法读取可能表现为电脑无法识别磁盘、磁盘在读…

基于yolov5的水果新鲜度检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的水果新鲜度检测系统,系统既能够实现图像检测,也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili (一)简介 基于yolov5的水果新鲜度检测系统是在pytorch框架下实现的,这是一个完整的…

opengl日记23-opengl文字渲染-渐变色-教程示例

Author: wencoo Blog:https://wencoo.blog.csdn.net/ Date: 23/02/2024 Email: jianwen056aliyun.com Wechat:wencoo824 QQ:1419440391 Details:文章目录 目录正文 或 背景 效果展示 目录 正文 或 背景 前些天发现了一个巨牛的人工智能学习…

华为HQoS配置案例

HQoS基于层次化调度,cpe上支持三级队列: level3流队列:每个用户的同类业务是一个业务流,针对每个用户不同的业务流进行队列调度,流队列一般与业务类型对应(EF、AF、BE等)。 level2用户队列&…

适用于 Windows 的7大数据恢复软件解决方案

数据丢失是数字世界中令人不快的一部分,它会在某一时刻影响许多计算机用户。很容易意外删除一些重要文件,这可能会在您努力恢复它们时带来不必要的压力。幸运的是,数据恢复软件可以帮助恢复已删除的文件,即使您没有备份它们。以下…

玩转小米:如何取消王者荣耀微信双开默认选择

文章目录 💢 问题 💢🏡 演示环境 🏡💯 解决方案 💯💢 问题 💢 当我们在手机上安装了多个微信(分身)后,在一些软件(例如王者)使用微信登入时会出现让们选择使用哪个微信进行登入,但是有时候我们不小心设置了默认某一个微信登入后,下次就无法出现选择页面…

Codesys 位置式PID闭环控制系统(PID+PWM控制无刷电机)

有关Codesys位置式PID算法公式和源代码,请参考下面文章链接: 1、Codesys位置式PID https://rxxw-control.blog.csdn.net/article/details/131591254https://rxxw-control.blog.csdn.net/article/details/1315912542、博途PLC PWM输出控制 https://rxxw-control.blog.csdn.…

JavaScript 闭包:让你更深入了解函数和作用域

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Mybatis框架相关问题

HashMap相关问题 部分示例代码 Mybatis框架相关问题 一、MyBatis框架是如何实现分页的?二、MyBatis框架里面的缓存机制是怎么回事?一级缓存二级缓存 一、MyBatis框架是如何实现分页的? 分页分为两种: 逻辑分页:将所…

直播美颜SDK开发指南:构建个性化的主播美颜工具

本篇文章,小编将带您深入了解如何构建个性化的主播美颜工具,从而为用户提供更优质的直播体验。 一、美颜技术概述 在开始SDK的开发之前,我们首先需要了解美颜技术的基本原理。美颜技术通常包括肤色检测、人脸检测、特征点定位、滤镜处理等步…

C++ 使用libmodbus通信示例

代码示例 #include <future> #include <iostream> #include <thread>#include <modbus.h>// 寄存器数量 #define TEST_MAX_REGISTERS 100 // 读取寄存器数量 #define TEST_MAX_READ 5int main() {// C 异步auto&& f1 std::async(std::launch…