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.rhkb.cn/news/472845.html

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

相关文章

浪浪云轻量服务器搭建vulfocus网络安全靶场

什么是网络安全靶场 网络安全靶场是一个模拟真实网络环境的训练平台,旨在为网络安全专业人员提供一个安全的环境来测试和提高他们的技能。靶场通常包括各种网络设备、操作系统、应用程序和安全工具,允许用户在其中进行攻击和防御练习。以下是网络安全靶…

对称加密算法DES的实现

一、实验目的 1、了解对称密码体制基本原理 2、掌握编程语言实现对称加密、解密 二、实验原理 DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密…

【linux学习指南】VSCode部署Ubantu云服务器,与Xshell进行本地通信文件编写

文章目录 📝前言🌠 步骤🌉测试同步 🚩总结 📝前言 本文目的是讲使用Vscode连接Ubantu,与本地Xshell建立通信同步文件编写。 查看本机系统相关信息: cat /etc/lsb*DISTRIB_IDUbuntu: 表示这是 Ubuntu 发行…

实战:一文讲透模糊匹配的三种方式的区别

在 SQL 查询中,模糊查询是我们常用的工具之一。LIKE 关键字配合 % 符号,可以实现前缀匹配、后缀匹配和包含匹配等多种查询方式。然而,不同的匹配方式对查询性能会有显著影响。本文将详细探讨在 SQL 查询中,字符串前后加 % 与只在后面加 % 的性能差异及其应用场景。 一、SQL…

利用Blackbox AI让编程更轻松

引言 随着人工智能技术的发展,AI已经成为工作中不可缺少的工具之一。俗话讲“术业有专攻”,对AI来说当然也是如此。由于训练集、调教等方面的差别,不同的AI适用的工作也不尽相同。在编程辅助方面,已经有一系列比较成熟的平台&…

Vue学习记录03

响应式基础 声明响应式状态 ref() 在组合式API中,推荐使用ref()函数来声明响应式状态: import { ref } from vueconst count ref(0) ref()接收参数,并将其包裹在一个带有.value属性的ref对象中返回: const count ref(0)con…

排序排序的概念及其运用和选择排序

排序排序的概念及其运用和选择排序 7. 排序7.1 排序的概念及其运用7.2 选择排序算法——直接选择排序选择排序基本思想:直接选择排序选择排序原理参考程序 如何交换数据直接选择排序的特性总结: 7. 排序 7.1 排序的概念及其运用 排序:所谓排…

【目标检测】用YOLOv8-Segment训练语义分割数据集(保姆级教学)

前言 这篇教程会手把手带你用 YOLOv8-Segment 搭建一个属于自己的分割任务项目。从环境配置到数据集准备,再到模型训练和测试,所有步骤都有详细说明,适合初学者使用。你将学会如何安装必要的软件,标注自己的数据,并使…

爬虫开发工具与环境搭建——开发工具介绍

第二章:爬虫开发工具与环境搭建 第一节 开发工具介绍 爬虫开发需要一些合适的工具和框架来高效地抓取网页数据。在这节中,我们将介绍常用的开发工具,帮助开发者快速搭建爬虫开发环境。 1. Python与爬虫框架选择 Python因其简洁、易学的语法…

类和对象——拷贝构造函数,赋值运算符重载(C++)

1.拷⻉构造函数 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。 // 拷贝构造函数//d2(d1) Date(const Date& d) {_year d._yea…

高级数据结构——hash表与布隆过滤器

文章目录 hash表与布隆过滤器1. hash函数2. 选择hash函数3. 散列冲突3.1 负载因子3.2 冲突解决3. STL中的散列表 4. 布隆过滤器4.1 背景1. 应用场景2. 常见的处理场景: 4.2 布隆过滤器构成4.3 原理4.4 应用分析4.5 要点 5. 分布式一致性hash5.1 缓存失效问题 6. 大数…

xcode-select: error: tool ‘xcodebuild‘ requires Xcode, but active developer

打开 .sh 文件所在的终端窗口,执行终端命令:sh 文件名.sh,出现如下错误: 解决办法:

java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?

大家好,我是锋哥。今天分享关于【java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?】面试题。希望对大家有帮助; java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗&…

candence : 通孔焊盘、插装器件封装绘制

通孔焊盘、插装器件封装绘制 以2.54mm 2x10的 排针为例绘制封装 一、 flash 热风焊盘制作 1、新建 2、选择 flash SYMBOL,并设置保存路径 3、add flash 具体参数 花焊盘参数 Inner diameter 通孔直径(1.0mm) 圆形补偿值(0.4mm)1.4mm Outer diameter 通孔直径…

VSCode设置

打开设置页 VSCode打开配置页面,有多种方式: a. 点击左上角 File(文件) -> Preferences (首选项) -> Settings(设置)。 b. 使用快捷键 Ctrl ,(Windows) 或 Cmd ,(Mac)。 c. 点击左下角 Manage(管理) -> Settings(设置)。 VSCode设置页面打…

SpringMVC数据校验、数据格式化处理、国际化设置

SpringMVC数据校验、数据格式化处理、国际化设置 1.数据验证 (1)使用JSR-303验证框架 JSR(Java Specification Requests),意思是Java 规范提案。JSR-303是JAVA EE 6中的一项子规范,叫做Bean Validation。JSR 303&am…

加速 AI 创新:引入 Elastic AI 生态系统

作者:来自 Elastic Alyssa Fitzpatrick, Steve Kearns 生成式人工智能 (Generative AI - GenAI) 正在改变我们所熟知的商业格局。为了简化和加速开发人员构建和部署检索增强生成 (retrieval augmented generation - RAG) 应用程序的方式,Elastic 自豪地宣…

SpringSecurity 鉴权认证入门讲解

​ Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 ​ 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与Sp…

# ubuntu 安装的pycharm不能输入中文的解决方法

ubuntu 安装的pycharm不能输入中文的解决方法 一、问题描述: 当在 ubuntu 系统中,安装了 pycharm(如:pycharm2016, 或 pycharm2018),打开 pycharm 输入代码时,发现不能正常输入中文,安装的搜狗…

小白进!QMK 键盘新手入门指南

经常玩键盘的伙伴应该都知道,现在的键盘市场可谓是百花齐放,已经不是之前的单一功能产品化时代。我们可以看到很多诸如:机械轴键盘、磁轴键盘、光轴键盘、电感轴键盘,以及可能会上市的光磁轴键盘,更有支持屏幕的、带旋…