Docker搭建个人网盘NextCloud并接入雨云对象存储的教程

雨云服务器使用Docker搭建私有云盘NextCloud并接入雨云对象存储ROS的教程。

NextCloud简介

NextCloud由原ownCloud联合创始人Frank Karlitschek创建的,继承原ownCloud的核心技术又有不少的创新。在功能上NextCloud和ownCloud差不多,甚至还要丰富一些,在用户使用体验方面,NextCloud安装与使用都非常地顺手,最重要的是NextCloud完全开源免费。

NextCloud不仅是一个私人云网盘平台,也支持多用户同步协作使用。NextCloud支持账号注册,可以为账号开启两步验证,以确保账号安全。同时,NextCloud对于公开分享的文件可以设置有效期,对于上传的视频、音乐、Office文档等直接支持在线预览和播放。

NextCloud还提供了上百种的免费应用和插件,这些NextCloud应用与插件可以将NextCloud打造成为一个在线文档共享与编辑平台、音乐与视频娱乐平台以及文件存储下载平台。当然,如果是自己手动安装的NextCloud的话,那么这些插件也得自己配置好环境才行。

NextCloud服务端开源地址:https://github.com/nextcloud/server

Docker版开源地址:https://github.com/nextcloud/all-in-one

准备

首先需要一台云服务器和一个域名,服务器要有公网IP,推荐雨云的:

雨云优惠注册地址:https://www.rainyun.com/zeruns_?s=csdn

优惠码:zeruns

使用优惠码注册后绑定微信可获得5折优惠券

雨云账号注册&云服务器购买和使用教程:https://www.bilibili.com/video/BV1Kj411x7G6/

注册完账号后进到雨云控制台,云服务器入口可以在后台的 总览云产品 部分找到:

点击购买云服务器,接着选择服务器区域,如果你域名已备案建议选择宿迁或十堰的,如果你域名没有备案就选择香港或美国,我这里选择香港。

配置选择2核2G一般够用了。

系统选择Debian12,预安装APP选择Docker环境(选了这个可以跳过下面安装Docker的步奏)。如果所选区域没有Debian12就选择Debian11,如果没有预安装Docker就需要执行下面教程安装Docker那步。

都选好后就可以点击立即购买了,也可以选择1元试用1天。

购买后即可在我的云服务器这里看到你买的云服务器,点击管理

接着就可以看到云服务器的信息了,在这里重装/切换系统,可以升级配置。

等待服务器创建完成以及预安装APP安装完成。

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(雨云控制台获取),还有SSH端口(一般默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

安装Docker

如果选择了预安装Docker环境就直接跳过安装这一步,直接Docker换国内源那一步。

在ssh终端,输入下面的指令。

用apt包管理器来安装:

# 安装docker,如果遇到问是否继续的就输入y来确定
apt install docker.io

# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

若没安装成功就试试下面的安装脚本:

# 安装docker
curl -sSL https://get.daocloud.io/docker | sh

# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

如果还是不行就尝试下面链接的手动安装教程吧

docker手动安装教程:https://www.runoob.com/docker/ubuntu-docker-install.html

Docker换国内源

# 创建或修改 /etc/docker/daemon.json 文件
apt install nano && nano /etc/docker/daemon.json

# 然后输入下面内容:(输入完后按Ctrl+O,然后回车保存,接着按Ctrl+X退出编辑器)
{
  "registry-mirrors": ["https://docker.nju.edu.cn"]
}

# 重启docker服务
systemctl restart docker.service

设置域名解析

将一个域名解析到你服务器IP

安装NextCloud

执行下面命令运行Nextcloud AIO:

docker run \
    --sig-proxy=false \
    --name nextcloud-aio-mastercontainer \
    --restart always \
    --publish 80:80 \
    --publish 8080:8080 \
    --publish 8443:8443 \
    --publish 3478:3478 \
    --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
    --volume /var/run/docker.sock:/var/run/docker.sock:ro \
    --env NEXTCLOUD_DATADIR=/data/nextcloud \
    nextcloud/all-in-one:latest

上面命令中的/data/nextcloud是Nextcloud网盘数据文件夹,你可以自行更改放在你想放的地方。

会在以下端口开启服务:

  • 80:Nextcloud HTTP服务,用于重定向到HTTPS
  • 8080:Nextcloud AIO HTTPS服务,使用自签名证书
  • 8443:Nextcloud AIO HTTPS服务,自动签发Let’s Encrypt证书

在后续安装时,还会在443端口开启Apache的HTTPS服务,自动签发Let’s Encrypt证书。

将域名绑定到公网IP后,访问https://你的域名:8443进入Nextcloud AIO。如果无法访问或证书错误,请检查80端口是否正常开放。

进入NextCloud

复制下面这串密码,这个只会在第一次进入时显示。

输入刚刚复制的密码然后点log in

登录之后AIO会提示输入域名,这里输入你的域名就行。

到达下一步container页面后,我们先把时区改成上海的。 输入Asia/Shanghai 提交即可。

然后是安装你所需要的插件,如果不安装,则直接点击下载并且启动容器,如果要安装的话,请确保符合最低配置要求。下面有写:

看到这个页面就是搭建成功了。

点击Open your Nextcloud 跳转到登陆页面,输入刚刚页面显示的初始账号密码,然后登陆。

创建对象存储存储桶

雨云对象存储介绍:https://forum.rainyun.com/t/topic/6107

回到雨云控制台,点击云产品,点击对象存储右边的立即购买

选择一个套餐并购买,目前雨云对象存储刚发布一周内活动价5折。

接着进到对象存储控制台,点击创建存储桶

接着输入要创建的存储桶名称,选择刚刚购买的实例,点击创建。

点击存储桶右边的管理按钮,进入的存储桶的管理页面

点击信息与监控,这里的信息等会要用到

挂载雨云对象存储ROS

点击右上角头像,点击应用

在精选应用这里找到External storage support(外部存储支持),点击启用。

点击头像,点击管理设置

点击左边栏这里的外部存储

选择存储类型Amazon S3

参照下面图片填写,

  • 目录名称自己定一个,
  • 认证选Access key,
  • Bucket填你刚刚创建的存储桶的桶名称,
  • 主机名填对象存储控制台显示的API端点,只用填域名就行,前面的https和后门的桶名称不用填进去,
  • 勾选启用SSL
  • 勾选启用Path Style
  • 如果需要所有用户都能访问这个文件夹就勾选所有用户
  • 下面两个框填你的Access Key和Secret Key

点击最右边的钩√

点击文件这里就可以看到刚刚挂载的目录

推荐阅读

  • 雨云OSS服务介绍和使用教程,Chevereto图床使用雨云OSS的教程:https://blog.zeruns.tech/archives/733.html
  • PicGo+雨云ROS搭建自己的图床,可配合Typora使用:https://blog.zeruns.tech/archives/734.html
  • 雨云游戏云MCSM面板服使用&我的世界Forge服务端开服教程:https://blog.zeruns.tech/archives/736.html
  • 雨云虚拟主机使用教程&WordPress博客网站搭建教程:https://blog.zeruns.tech/archives/737.html
  • 雨云游戏云VPS搭建MCSM面板和我的世界Paper服务器教程:https://blog.zeruns.tech/archives/738.html
  • 雨云服务器搭建内网穿透服务器教程,NPS搭建和使用教程:https://blog.zeruns.tech/archives/741.html

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

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

相关文章

WebSocket了解

一.什么是WebSocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 二.websocket的原理 web…

【MATLAB源码-第90期】基于matlab的OQPSKsimulink仿真,对比初始信号和解调信号输出星座图。

操作环境: MATLAB 2022a 1、算法描述 正交偏移二进制相移键控(OQPSK, Orthogonal Quadrature Phase Shift Keying)是一种数字调制技术,主要用于高效无线数据传输。它是传统二进制相移键控(BPSK)的一个变…

redis实现消息延迟队列

业务场景 在很多软件系统功能中都会出现定时任务的业务场景,比如提前点单,比如定时发布动态,文章等而出现这样的的定时的任务为延迟队任务 代码模块 任务的持久化一般都需要建立一个任务表和任务日志表,避免宕机导致任务失效,先新建立一个数据库,创建基本的任务表和任务日志表…

【刷题笔记】加油站||符合思维方式

加油站 文章目录 加油站1 题目描述2 思路3 解题方法 1 题目描述 https://leetcode.cn/problems/gas-station/ 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消…

每日一题--相交链表

离思五首-元稹 曾经沧海难为水,除却巫山不是云。 取次花丛懒回顾,半缘修道半缘君。 目录 题目描述: 思路分析: 方法及时间复杂度: 法一 计算链表长度(暴力解法) 法二 栈 法三 哈希集合 法四 map或unordered_map…

YOLOv5算法进阶改进(4)— 引入解耦合头部 | 助力提高检测准确率

前言:Hello大家好,我是小哥谈。解耦头是目标检测中的一种头部设计,用于从检测网络的特征图中提取目标位置和类别信息。具体来说,解耦头部将目标检测任务分解为两个子任务:分类和回归。分类任务用于预测目标的类别,回归任务用于预测目标的位置。这种设计可以提高目标检测的…

粒子群算法Particle Swarm Optimization (PSO)的定义,应用优点和缺点的总结!!

文章目录 前言一、粒子群算法的定义二、粒子群算法的应用三、粒子群算法的优点四、粒子群算法的缺点:粒子群算法的总结 前言 粒子群算法是一种基于群体协作的随机搜索算法,通过模拟鸟群觅食行为而发展起来。该算法最初是由Eberhart博士和Kennedy博士于1…

PyQt6实战开发之旅-代码均可运行

学习感悟 由于官方文档是英文的,所以学习起来不是很直观。网上的中文教程也都有点偏重就轻,去从头学习细枝末节不是很必要。假如每个控件组件讲十分钟,几百个控件可想而知。最关键的是有python基础,能理解类与继承,函…

【漏洞复现】OpenTSDB 2.4.0 命令注入(CVE-2020-35476)漏洞复现

漏洞描述 官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written ontop of HBase; 翻译过来就是,基于Hbase的分布式的,可伸缩的时间序列数据库。 主要用途,就是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序…

官网IDM下载和安装的详细步骤

目录 一、IDM是什么 二、下载安装 三、解决下载超时的问题 四、谷歌浏览器打开IDM插件 谷歌浏览器下载官网👇 五、测试 六、资源包获取 一、IDM是什么 IDM(internet download manager)是一个互联网下载工具插件,常见于用…

C语言数据类型和变量

# C语言数据类型和变量 # 数据类型介绍 C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有…

可以在Playgrounds或Xcode Command Line Tool开始学习Swift

一、用Playgrounds 1. App Store搜索并安装Swift Playgrounds 2. 打开Playgrounds,点击 文件-新建图书。然后就可以编程了,如下: 二、用Xcode 1. 安装Xcode 2. 打开Xcode,选择Creat New Project 3. 选择macOS 4. 选择Comman…

使用Rust开发小游戏

本文是对 使用 Rust 开发一个微型游戏【已完结】[1]的学习与记录. cargo new flappy 在Cargo.toml的[dependencies]下方增加: bracket-lib "~0.8.7" main.rs中: use bracket_lib::prelude::*;struct State {}impl GameState for State { fn tick(&mut self,…

高校大学校园后勤移动报修系统 微信小程序uniapp+vue

本文主要是针对线下校园后勤移动报修传统管理方式中管理不便与效率低的缺点,将电子商务和计算机技术结合起来,开发出管理便捷,效率高的基于app的大学校园后勤移动报修app。该系统、操作简单、界面友好、易于管理和维护;而且对后勤…

微机11111

一、填空题(共15分,每空1分) 1、十六进制数30A.5转换为二进制是__________,转换为十进制是_________ 001100001010.0101B 778.3125 十六进制转换二进制 将一位十六进制分解成四位二进制 十六进制转换十进制 3X1620X16110X1605X1…

解决Vue编程式导航路由跳转不显示目标路径问题

我们配置一个编程式导航的路由跳转,跳转到 /search 页面,并且携带categoryName和categoryId两个query参数。 this.$router.push({path: "/search",query: {categoryName: dataset.categoryname,categoryId: dataset.categoryid} }) 如果我们…

Qt 网络通信

获取本机网络信息 &#xff08;1&#xff09;在 .pro 文件中加入 QT network&#xff08;2&#xff09; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> #include <QLabel> #include <QLineEdit> #include <QPu…

C语言学习笔记之函数篇

与数学意义上的函数不同&#xff0c;C语言中的函数又称为过程&#xff0c;接口&#xff0c;具有极其重要的作用。教科书上将其定义为&#xff1a;程序中的子程序。 在计算机科学中&#xff0c;子程序&#xff08;英语&#xff1a;Subroutine, procedure, function, routine, me…

【Spring】Spring事务详解

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

基于springboot+vue的学生宿舍管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…