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账户和密码"

网站访问即可

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

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

相关文章

凹凸/高度贴图、法线贴图、视差贴图、置换贴图异同

参考: 凹凸贴图、法线贴图、置换贴图-CSDN博客 视差贴图 - LearnOpenGL CN 1,Learn about Parallax(视差贴图) - 知乎 “视差贴图”的工作流程及原理(OpenGL) - 哔哩哔哩 法线与置换贴图原理讲解以及烘焙制作! - 知乎 1. Bump Mapping 凹凸贴图 BumpMap…

Vant组件

结合项目学习下Vant组件。 Vue2:Vant 2 - Mobile UI Components built on Vue Vue3:Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. 课程地址:【vue-vant组件库】 https://www.bilibili.com/video/BV1q5411E7…

【DEKF算法】DEKF(双扩展卡尔曼滤波算法)估计锂电池荷电状态,SOC与SOH联合仿真

摘要 本文研究了基于双扩展卡尔曼滤波(DEKF)算法对锂电池荷电状态(SOC)和健康状态(SOH)的估计问题。通过构建锂电池的等效电路模型(ECM),将SOC与SOH联合估计&#xff0c…

4-3 AUTOSAR BSW IO抽象

返回总目录->返回总目录<- 目录 一、概述 二、示例接口 一、概述 在AUTOSAR中,IO抽象模块的主要作用是提供对硬件设备的控制和访问。它包括了以下几个主要模块: DIO(Digital Input/Output):用于控制数字输入和输出信号,例如控制LED灯的开关或读取按键状态…

【动手学深度学习Pytorch】1. 线性回归代码

零实现 导入所需要的包&#xff1a; # %matplotlib inline import random import torch from d2l import torch as d2l import matplotlib.pyplot as plt import matplotlib import os构造人造数据集&#xff1a;假设w[2, -3.4]&#xff0c;b4.2&#xff0c;存在随机噪音&…

【数据结构】树——顺序存储二叉树

写在前面 在学习数据结构前&#xff0c;我们早就听说大名鼎鼎的树&#xff0c;例如什么什么手撕红黑树大佬呀&#xff0c;那这篇笔记不才就深入浅出的介绍二叉树。 文章目录 写在前面一、树的概念及结构1.1、数的相关概念1.2、数的表示1.3 树在实际中的运用&#xff08;表示文…

Linux常用命令,持续更新钟

在Linux系统中&#xff0c;你可以使用多种命令来拷贝和移动文件及目录。以下是常用的几个命令及其用法&#xff1a; 一、拷贝文件或目录 cp 命令 cp 命令用于拷贝文件或目录。 拷贝文件&#xff1a; cp source_file destination_file 例如&#xff1a; cp file1.txt /hom…

计算机视觉中的双边滤波:经典案例与Python代码解析

&#x1f31f; 计算机视觉中的双边滤波&#xff1a;经典案例与Python代码解析 &#x1f680; Hey小伙伴们&#xff01;今天我们要聊的是计算机视觉中的一个重要技术——双边滤波。双边滤波是一种非线性滤波方法&#xff0c;主要用于图像去噪和平滑&#xff0c;同时保留图像的边…

Ubuntu 22.04 上快速搭建 Samba 文件共享服务器

Samba 简介 Samba 是一个开源软件&#xff0c;它扮演着不同操作系统间沟通的桥梁。通过实现 SMB&#xff08;Server Message Block&#xff09;协议&#xff0c;Samba 让文件和打印服务在 Windows、Linux 和 macOS 之间自由流动。 以下是 Samba 的特点&#xff1a; 跨平台兼…

在MATLAB中实现自适应滤波算法

自适应滤波算法是一种根据信号特性自动调整滤波参数的数字信号处理方法&#xff0c;其可以有效处理噪声干扰和信号畸变问题。在许多实时数据处理系统中&#xff0c;自适应滤波算法得到了广泛应用。在MATLAB中&#xff0c;可以使用多种方法实现自适应滤波算法。本文将介绍自适应…

AWTK-WIDGET-WEB-VIEW 发布

awtk-widget-web-view 是通过 webview 提供的接口&#xff0c;实现的 AWTK 自定义控件&#xff0c;使得 AWTK 可以方便的显示 web 页面。 项目网址&#xff1a; https://gitee.com/zlgopen/awtk-widget-web-view webview 提供了一个跨平台的 webview 接口&#xff0c;是一个非…

使用Web Workers提升JavaScript的并行处理能力

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的…

shell编程--传参与数学运算

探讨一下如何向shell脚本传递参数。 脚本传参 首先用vim创建一个脚本。 vim 脚本.sh 可以理解为其他编程语言的标准输出&#xff0c;例如C语言的输出%d,表标准输出数字。 用echo 执行文件名称是&#xff1a;$0 echo 第一个参数是&#xff1a;$1 echo 传递参数作为字符串显…

头歌-本关任务:使用GmSSL命令行,生成SM2私钥并对文件进行签名验证(第二关)。

第一关在网上找到了&#xff0c;但第二关没找到&#xff0c;在这里做一下补充:) 如果想认真学的话可以看看文档 国密SM2椭圆曲线密码标准http://gmssl.org/docs/sm2.html 内容为 GuetPython 的明文文件msg.txt 私钥sm2.pem 公钥sm2Pub.pem 使用sm2utl对msg.txt进行签名&…

elementui el-table中给表头 el-table-column 加一个鼠标移入提示说明

前言 在使用el-table 表格中有些表格的表头需要加入一些提示&#xff0c;鼠标移入则出现提示&#xff0c;非常实用&#xff0c;我是通过el-table中的el-tooltip实现的&#xff0c;以下的效果预览 代码实现 <el-table ref"multipleTable" :data"data"…

在kile 5中一个新工程的创建

这两天博主学习到了在kile5中创建一个工程&#xff0c;当然博主不会忘了小伙伴们的&#xff0c;这就和你们分享。 本次创建以STM32F103C8为例 创建过程&#xff1a; 1首先创建文件 名字随意&#xff0c;但也不要太随意&#xff0c;因为是外国软件&#xff0c;所以多少对中文…

PortSwigger WEB缓存欺骗

一、Web缓存概述 Web 缓存是位于源服务器和用户之间的系统。当客户端请求静态资源时&#xff0c;请求首先被定向到缓存。如果缓存不包含资源的副本&#xff08;称为缓存未命中&#xff09;&#xff0c;则请求将转发到源服务器&#xff0c;该服务器将处理并响应请求。然后&#…

nginx源码安装配置ssl域名

nginx源码安装 下载 wget http://nginx.org/download/nginx-1.24.0.tar.gz 解压 tar -zxvf nginx-1.24.0.tar.gz 下载openssl apt install openssl 安装nginx cd nginx-1.24.0 sudo apt-get install libpcre3 libpcre3-dev ./configure --prefix=/home/nginx24 --with-http_ss…

如何用WordPress和Shopify提升SEO表现?

选择合适的建站程序对于SEO优化非常重要。目前&#xff0c;WordPress和Shopify是两种备受推崇的建站平台&#xff0c;各有优势。 WordPress最大的优点是灵活性。它支持大量SEO插件&#xff0c;帮助你调整元标签、生成站点地图、优化内容结构等。这些功能让你能够轻松地提升网站…

RHCE的学习(20)

变量5种赋值方式 shell中变量赋值5种方式&#xff0c;其中采用name10的方法称A 直接赋值 nameB read命令 read v1C 使用命令行参数 &#xff08;$1 $2 $3 ..&#xff09; name$1D 使用命令的输入 username$(whoami)E 从文件读取 #cut -d : -f1 /etc/passwd > /user.listfor…