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.xdnf.cn/news/16740.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Macs Fan Control - 控制 Apple 计算机上的风扇

免费下载 提供 macOS 和 Windows (Boot Camp) 版本 https://apsgo.cn/joN0WG Mac 风扇控制 监视和控制 Apple 计算机上的风扇 实时监控风扇速度和温度传感器,包括第三方 HDD/SSD(使用 S.M.A.R.T.)。设置自定义 RP…

3.STM32之通信接口《精讲》之USART通信

本节将进行实战,基础了解请查看第二节(Whappy)开始背!! USART ---》全双工 异步/同步 点对点 USART:STM32自带硬件电路,通过配置相对应的寄存器来设置数据帧的发送,我们收发只需要…

无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…

SPIRiT-Diffusion:基于自一致性驱动的加速MRI扩散模型|文献速递-基于深度学习的病灶分割与数据超分辨率

Title 题目 SPIRiT-Diffusion: Self-Consistency Driven Diffusion Model for Accelerated MRI SPIRiT-Diffusion:基于自一致性驱动的加速MRI扩散模型 01 文献速递介绍 磁共振成像(MRI) 在临床和研究领域被广泛应用。然而,其…

Vue3中一级导航栏的吸顶导航交互以及Pinia优化重复请求

一、前言 在日常的网站中,当鼠标滚轮往页面的底部滑动时,会出现顶部导航栏的隐藏,而出现新的导航栏显示,这就是一级导航栏的吸顶导航交互。本文当实现改模块功能的实现。 二、示例图 参考黑马程序员小兔仙儿PC端项目:…

JDK17源码系列-ArrayList源码解读

JDK17源码系列-ArrayList接口源码解读 1.List集合接口类图 2.ArrayList详细类图 ArrayList继承了AbstractList实现了List、Serializable等接口,实现Serializable接口使得ArrayList类的对象可以串行化,串行化后,对象可以进行网络传输&#x…

VBA学习笔记:点击单元格显示指定的列

应用场景: 表格中列数较多,特定条件下隐藏一些无关的列,只保留相关的列,使表格更加清晰。 示例:原表格如下 点击一年级,只显示一年级相关的科目: 点击二年级,只显示二年级相关的科…

RNN深度学习案例:LSTM火灾温度预测

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 前期准备数据 1.导入数据 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.preprocessing import MinMaxScaler from keras.lay…

nmap简单使用

nmap的基本功能 nmap有4个基本功能,分别是 端口扫描 主机探测 服务识别 系统识别 端口扫描 nmap 183.2.172.185 从图中可以看出开放了80和443端口 指定端口扫描 指定端口扫描使用-p参数,可以一次性扫描一个或多个或某个范围内的端口 nmap 183.…

python文件排序都有哪些方法

在python环境中提供两种排序方案:用库函数sorted()对字符串排序,它的对象是字符;用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名‘屏蔽’)。 …

uni-app快速入门(五)--判断运行环境及针对不同平台的条件编译

一、判断运行环境 在实际项目开发中,经常需要进行开发环境和生产环境的切换,uni-app可根据process.env.NODE_ENV判断当前运行环境是开发环境和生产环境,根据不同的环境调用不同的后台接口,具体实现方式: 在项目的static目录下建…

QT定时器

QT定时器 1.概述 这篇文章介绍如何使用定时器 2.定时器 2.1.创建项目 新建一个普通的widget类型项目,在widget.ui文件中添加一个label控件 2.1.QTimer 在帮助文档搜索timerEvent,查看QTimer Class 类提供的定时器。 该类提供了一个定时事件的函…

双指针优质算法题集

目录 一、双指针算法介绍 二、移动0 1、题目链接 2、题解 3、代码实现 (1)、初次实现: (2)、优化后的实现: 二、复写0 1、题目链接: 2、题解 3、代码实现 一、双指针算法介绍 这里的指…

博奥龙黑胶虫去除剂,新品来袭!

形态特征: 大小方面:黑胶虫的直径通常在 0.5~1 微米左右,一般比细菌要小,但在显微镜下仍可明显观察到。 形状方面:其形态不规则,初始呈现点状,随着培养时间的增加其形态可以转变为密集的小黑点…

使用Element UI实现前端分页,及el-table表格跨页选择数据,切换分页保留分页数据,限制多选数量

文章目录 一、前端分页1、模板部分 (\<template>)2、数据部分 (data)3、计算属性 (computed)4、方法 (methods) 二、跨页选择1、模板部分 (\<template>)2、数据部分 (data)3、方法 (methods) 三、限制数量1、模板部分 (\<template>)2、数据部分 (data)3、方法…

HTML5+CSS前端开发[保姆级教学]+基本文本控制标签介绍

引入&#xff1a;Hello&#xff0c;各位编程猿们&#xff01;前几篇文章介绍了软件的安装以及编写新闻文章的代码初体验&#xff0c;这一篇我们来巩固一些这些知识点&#xff0c;复习一下基本文本控制标签&#xff01;&#xff01;&#xff01; 知识点一&#xff1a;基本文本控…

《FreeRTOS任务基础知识以及任务创建相关函数》

目录 1.FreeRTOS多任务系统与传统单片机单任务系统的区别 2.FreeRTOS中的任务&#xff08;Task&#xff09;介绍 2.1 任务特性 2.2 FreeRTOS中的任务状态 2.3 FreeRTOS中的任务优先级 2.4 在任务函数中退出 2.5 任务控制块和任务堆栈 2.5.1 任务控制块 2.5.2 任务堆栈…

AdaBoost 二分类问题

代码功能 生成数据集&#xff1a; 使用 make_classification 创建一个模拟分类问题的数据集。 数据集包含 10 个特征&#xff0c;其中 5 个是有用特征&#xff0c;2 个是冗余特征。 数据集划分&#xff1a; 将数据分为训练集&#xff08;70%&#xff09;和测试集&#xff08;3…

ffmpeg自动手动编译安装

1.下载linux ndk并配置profile文件 本例以android-ndk-r10e为例 vi /etc/profile export NDK_HOME/root/ffmpeg/android-ndk-r10e export PATH P A T H : PATH: PATH:NDK_HOME source /etc/profile 2.下载x264并生成 git clone https://code.videolan.org/videolan/x264.g…

英伟达基于Mistral 7B开发新一代Embedding模型——NV-Embed-v2

我们介绍的 NV-Embed-v2 是一种通用嵌入模型&#xff0c;它在大规模文本嵌入基准&#xff08;MTEB 基准&#xff09;&#xff08;截至 2024 年 8 月 30 日&#xff09;的 56 项文本嵌入任务中以 72.31 的高分排名第一。此外&#xff0c;它还在检索子类别中排名第一&#xff08;…