Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)

Docker搭建Cloudreve

Cloudreve介绍:

Cloudreve 是一个基于 ThinkPHP 框架构建的开源网盘系统,旨在帮助用户以较低的成本快速搭建起既能满足个人也能满足企业需求的网盘服务。Cloudreve 支持多种存储介质,包括但不限于本地存储、阿里云OSS、腾讯云COS、七牛云Kodo、AWS S3等,这使得用户可以根据自己的实际需求选择合适的存储方案。

主要特点

多用户支持:Cloudreve 支持多用户注册与登录,每个用户都有独立的空间和权限设置。

丰富的文件操作:提供上传、下载、分享、在线预览等功能,支持对文件和文件夹的各种操作。

安全可靠:采用加密传输,保护数据的安全;同时支持多种身份验证方式,如LDAP、OAuth2等,增强系统的安全性。

灵活的扩展性:支持插件扩展,可以通过开发或安装第三方插件来增加更多功能。

多语言支持:界面支持多国语言,方便不同地区的用户使用。

易于部署:提供详细的安装指南,支持多种环境下的部署,包括直接安装和通过Docker部署。

手动搭建过程:

搭建Docker环境

[root@k8s-master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

[root@k8s-master ~]# yum -y install docker-ce

[root@k8s-master ~]# systemctl enable docker && systemctl start docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@master ~]# vi /etc/docker/daemon.json

{

  "registry-mirrors": [

          "https://rtgofewn.mirror.aliyuncs.com",

          "https://docker.m.daocloud.io"],

  "exec-opts": ["native.cgroupdriver=systemd"]

}

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

[root@k8s-master ~]# systemctl status docker

拉取Cloudreve镜像:

[root@localhost ~]# docker pull cloudreve/cloudreve

Using default tag: latest

latest: Pulling from cloudreve/cloudreve

96526aa774ef: Pull complete

75ac63dd6019: Pull complete

374e97e9cf49: Pull complete

23d2674c94ed: Pull complete

Digest: sha256:b6c8bfd463898354831c311fb3967a410714a5319b5a86c4bf5d89e0487cc5bd

Status: Downloaded newer image for cloudreve/cloudreve:latest

docker.io/cloudreve/cloudreve:latest

[root@localhost ~]# docker images

REPOSITORY            TAG       IMAGE ID       CREATED         SIZE

cloudreve/cloudreve   latest    328970d33c60   13 months ago   108MB

创建挂载目录,创建容器:

[root@localhost ~]# mkdir -p /data/cloudreve/uploads

[root@localhost ~]# docker run -d --name cloudreve \

> -p 4777:5212 --restart=always \

> -v /data/cloudreve/uploads:/cloudreve/uploads \

> cloudreve/cloudreve:latest

7f715831ed776e47e4f6085276661c4ae99ca4bc5a3a19a301cfdec0ae17d8d4

查看容器运行状态:

[root@localhost ~]# docker ps

CONTAINER ID   IMAGE                        COMMAND         CREATED         STATUS         PORTS                                             NAMES

7f715831ed77   cloudreve/cloudreve:latest   "./cloudreve"   3 seconds ago   Up 2 seconds   5212/tcp, 0.0.0.0:4777->5212/tcp, :::4777->5212/tcp   cloudreve

查看初始化登陆的账户和密码:

[root@localhost ~]# docker logs cloudreve

   ___ _                 _                    

  / __\ | ___  _   _  __| |_ __ _____   _____

 / /  | |/ _ \| | | |/ _  | '__/ _ \ \ / / _ \

/ /___| | (_) | |_| | (_| | | |  __/\ V /  __/

\____/|_|\___/ \__,_|\__,_|_|  \___| \_/ \___|

   V3.8.3  Commit #88409cc  Pro=false

================================================

[Info]    2024-11-15 09:17:38 Initializing database connection...

[Info]    2024-11-15 09:17:38 Start initializing database schema...

[Info]    2024-11-15 09:17:38 Admin user name: admin@cloudreve.org

[Info]    2024-11-15 09:17:38 Admin password: gKDvvM6B

[Info]    2024-11-15 09:17:38 Start executing database script "UpgradeTo3.4.0".

[Info]    2024-11-15 09:17:38 Finish initializing database schema.

[Info]    2024-11-15 09:17:38 Initialize task queue with WorkerNum = 10

[Info]    2024-11-15 09:17:38 Initialize crontab jobs...

[Info]    2024-11-15 09:17:38 Current running mode: Master.

[Info]    2024-11-15 09:17:38 Listening to ":5212"

[Info]    2024-11-15 09:18:38 Signal terminated received, shutting down server...

[Error]   2024-11-15 09:18:38 Failed to listen to ":5212": http: Server closed

[Warning] 2024-11-15 09:18:38 Failed to persist cache: open temp/cache_persist.bin: no such file or directory

进入浏览器进行初始化:

使用日志中给到的初始登陆账号密码进行登录:

在主页管理面板中可以进行设置账户名和密码:

搭建完成。

Shell脚本安装直通车:

#!/bin/bash

#基于阿里云的yum源,搭建Docker环境

logfile=/var/log/docker_install.log

touch $logfile

#基础环境,为后续访问成功做准备

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum -y install wget

#下载Docker的yum源

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

if [ $? -ne 0 ];then

    echo "docker的yum源获取失败,失败信息$(wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 2>&1)" >> $logfile

    exit 1

else

    echo "docker的yum源获成功,即将安装Docker" >> $logfile

fi

yum install -y docker-ce

if [ $? -ne 0 ];then

    echo "docker-ce安装失败,失败信息$(yum -y install docker-ce 2>&1)" >> $logfile

    exit 1

else

    echo "docker-ce安装完成,即将启动Docker" >> $logfile

fi

systemctl start docker && systemctl enable docker

daemonfile=/etc/docker/daemon.json

touch $daemonfile

json_content='{

  "registry-mirrors": [

          "https://rtgofewn.mirror.aliyuncs.com",

          "https://docker.m.daocloud.io"],

  "exec-opts": ["native.cgroupdriver=systemd"]

}'

file_path="$daemonfile"

echo "$json_content" > "$file_path"

systemctl daemon-reload

systemctl restart docker

if [ $? -ne 0 ];then

    echo "添加镜像加速器后docker启动失败,失败信息(systemctl restart docker 2>&1)" >> $logfile

    exit 1

else

    echo "镜像加速器配置完成" >> $logfile

fi

docker pull cloudreve/cloudreve

if [ $? -ne 0 ];then

    echo "cloudreve镜像拉取失败,请检查是否是网络问题或镜像加速问题。" >> $logfile

    exit 1

else

    echo "cloudreve镜像拉取成功" >> $logfile

fi

dir=/data/cloudreve/uploads

mkdir -p $dir

docker run -d --name cloudreve -p 4777:5212 --restart=always -v /data/cloudreve/uploads:/cloudreve/uploads cloudreve/cloudreve:latest

if [ $? -ne 0 ];then

    echo "cloudreve容器创建失败,请检查Docker状态是否正常" >> $logfile

    exit 1

else

    echo "cloudreve容器创建成功" >> $logfile

fi

echo "cloudreve服务创建成功,请到浏览器进行登陆:ip:4777"

echo "使用docker logs cloudreve命令获取初始Admin账户和密码"

网站访问即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cadence安装

记录一下安装过程,方便以后安装使用Cadence。 去吴川斌的博客下载安装包,吴川斌博客: https://www.mr-wu.cn/cadence-orcad-allegro-resource-downloads/ 下载阿狸狗破戒大师 我这边下载的是版本V3.2.6,同样在吴川斌的博客下载安装…

系统架构设计师:系统架构设计基础知识

从第一个程序被划分成模块开始,软件系统就有了架构。 现在,有效的软件架构及其明确的描述和设计,已经成为软件工程领域中重要的主题。 由于不同人对Software Architecture (简称SA) 的翻译不尽相同,企业界喜欢叫”软件架构“&am…

Java Web 工程全貌

通过下图,我们可以一览 Java Web 工程的全貌 通过上图,我们能够基本窥探整个 Java Web 工程的面貌,包括前端,后端,甚至是运维。 接下来,我们就结合文字描述,加深理解。 部署Vue前端和Spring…

Linux入门:环境变量与进程地址空间

一. 环境变量 1. 概念 1️⃣基本概念: 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里&#x…

【优选算法 — 滑动窗口】水果成篮 找到字符串中所有字母异位词

水果成篮 水果成篮 题目描述 因为只有两个篮子,每个篮子装的水果种类相同,如果从 0 开始摘,则只能摘 0 和 1 两个种类 ; 因为当我们在两个果篮都装有水果的情况下,如果再走到下一颗果树,果树的水果种类…

Java 中使用Mockito 模拟对象的单元测试的快速示例

Mockito是一个流行的Java模拟框架,它允许你在单元测试中创建和配置模拟对象,以便在测试过程中替换那些不容易构造或获取的对象。 Mockito可以与JUnit无缝集成,下面的示例演示 Mockito JUnit实现模拟对象的单元测试。 依赖导入 这里使用Mav…

STM32 创建一个工程文件(寄存器、标准库)

首先到官网下载对应型号的固件包: 像我的STM32F103C8T6的就下载这个: 依次打开: .\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 可以看到: 这…

vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框

方案1:排出来照片太糊了,效果不好 1.基础功能 参考: https://blog.csdn.net/weixin_45148022/article/details/135696629 https://juejin.cn/post/7327353533618978842?searchId20241101133433B2BB37A081FD6A02DA60 https://www.freesio…

初识GIS

文章目录 一、什么叫地理信息1、定义2、主要特点3、分类 二、什么叫GIS1、定义2、GIS对空间信息的储存2.1、矢量数据模型2.2、栅格数据模型 3、离散栅格和连续栅格的区别 三、坐标系统1、为什么要存在坐标系统?2、地理坐标系2.1、定义与特点2.2、分类 3、投影坐标系…

Android 开发指南:初学者入门

Android 是全球最受欢迎的移动操作系统之一,为开发者提供了丰富的工具和资源来创建各种类型的应用程序。本文将为你提供一个全面的入门指南,帮助你从零开始学习 Android 开发。 目录 1. 了解 Android 平台[1]2. 设置开发环境[2]3. 学习基础知识[3]4. 创…

【QML】QML多线程应用(WorkerScript)

1. 实现功能 QML项目中,点击一个按键后,运行一段比较耗时的程序,此时ui线程会卡住。如何避免ui线程卡住。 2. 单线程(会卡住) 2.1 界面 2.2 现象 点击delay btn后,执行耗时函数(TestJs.func…

MFC1(note)

引言 在学习SDK后我们发现,写消息好麻烦,处理消息更麻烦 处理消息效率低发送消息效率低 所以把SDK中这些消息全部封装好 MFC封装了windows 的大部分API 这里说一下QT架构跨平台 MFC用得如何取决于你SDK的水平 创建 如果打开没有MFC 一般勾选以下…

封装一个省市区的筛选组件

筛选功能&#xff1a;只能单选&#xff08;如需多选需要添加show-checkbox多选框属性&#xff09;&#xff0c;选中省传递省的ID&#xff0c;选中市传递省、市的ID&#xff0c; 选中区传递省市区的ID 父组件&#xff1a; <el-form-item><div style"width: 240px;…

大模型在蓝鲸运维体系应用——蓝鲸运维开发智能助手

本文来自腾讯蓝鲸智云社区用户: CanWay 背景 1、运维转型背景 蓝鲸平台从诞生之初&#xff0c;就一直在不遗余力地推动运维转型&#xff0c;让运维团队可以通过一体化PaaS平台&#xff0c;快速编写脚本&#xff0c;编排流程&#xff0c;开发运维工具&#xff0c;从被动地提供…

独家|京东上线自营秒送,拿出二十年底牌和美团竞争

京东自营秒送开启招商&#xff0c;即时零售也要全托管&#xff1f; 作者|王迟 编辑|杨舟 据「市象」独家获悉&#xff0c;京东将在近期上线自营秒送业务&#xff0c;目前已经开始邀约制招商。「市象」获得的招商资料显示&#xff0c;和5月刚升级上线的京东秒送以POP模式不同&…

GEE 数据集——美国gNATSGO(网格化国家土壤调查地理数据库)完整覆盖了美国所有地区和岛屿领土的最佳可用土壤信息

目录 简介 代码 引用 网址推荐 知识星球 机器学习 gNATSGO&#xff08;网格化国家土壤调查地理数据库&#xff09; 简介 gNATSGO&#xff08;网格化国家土壤调查地理数据库&#xff09;数据库是一个综合数据库&#xff0c;完整覆盖了美国所有地区和岛屿领土的最佳可用土…

JavaSE常用API-日期(计算两个日期时间差-高考倒计时)

计算两个日期时间差&#xff08;高考倒计时&#xff09; JDK8之前日期、时间 Date SimpleDateFormat Calender JDK8开始日期、时间 LocalDate/LocalTime/LocalDateTime ZoneId/ZoneDateTIme Instant-时间毫秒值 DateTimeFormatter Duration/Period

15分钟学 Go 第 53 天 :社区资源与学习材料

第53天&#xff1a;社区资源与学习材料 目标 了解Go语言官方资源掌握社区重要学习平台学会利用开源项目学习构建个人知识体系 一、Go语言官方资源汇总 资源类型网址说明Go官网golang.org官方文档、下载、教程Go Blogblog.golang.org技术博客、最新特性介绍Go Playgroundpla…

删库跑路,启动!

起因&#xff1a;这是一个悲伤的故事&#xff0c;在抓logcat时 device待机自动回根目录了&#xff0c;而题主对当前路径的印象还停留在文件夹下&#xff0c;不小心在根目录执行了rm -rf * … 所以&#xff0c;这是个悲伤的故事&#xff0c;东西全没了…device也黑屏了&#xff…

如何优化Kafka消费者的性能

要优化 Kafka 消费者性能&#xff0c;你可以考虑以下策略&#xff1a; 并行消费&#xff1a;通过增加消费者组中的消费者数量来并行处理更多的消息&#xff0c;从而提升消费速度。 批量消费&#xff1a;配置 fetch.min.bytes 和 fetch.max.wait.ms 参数来控制批量消费的大小和…