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包管理器来安装:

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

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

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

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

bash 复制代码
# 安装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换国内源

bash 复制代码
# 创建或修改 /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:

bash 复制代码
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

点击最右边的钩√

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

推荐阅读

相关推荐
pk_xz12345636 分钟前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强38 分钟前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock3 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
昌sit!5 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
追风林6 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
A ?Charis8 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
城南vision8 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge8 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱8 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范