NextCloud自建家用网盘

简介: 在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置FRPs,设置权限,开放端口。本地服务器拉取 `NextCloud` Docker镜像,并通过docker-compose进行容器部署,容器启动成功,通过FRPc链接到云主机,到这里就已经实现本地网盘服务可以通过公网访问。

一、准备工作

1.1. 准备一台云服务器

我选择的是阿里云ECS,配置:2核2G,SSD40G,3M固定带宽(今年销冠)。

服务器的操作系统选用ubuntu 22.04。

1.2. 准备一台家用服务器

宝子们有淘汰下来的笔记本就可以拿来当家庭服务器来用,我用的是10年前的小黑,跑起linux同样丝滑不减当年。


二、安装docker容器化工具

2.1. docker容器安装

2.2. docker-compose工具安装

2.2.1. 通过docker-compose部署的优势

  • 应用环境自定义灵活

需要依赖容器环境的应用,可以一次性配置,应用服务、数据库、web服务器等均可以通过参数自定义配置。

  • 运维便捷

运维的应用服务只要通过yml文件拉去最新镜像就可以完成更新。

通过这次项目实操配置yml文件完成应用部署,宝子们一定会爱上它。

2.2.2. github拉取资源

sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


到这一步,我相信所有的宝子们已经被github喜感的下载速度给惊呆了,并且下载中途发现报错一定会让你们无比抓狂,直接FC爆粗有没有?现在大可不必了,解决方案送给你们!

免费的福利送大家,送我免费的赞也让我知道大家都顺利避坑了。

#拉取过程出现报错curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1) # HTTP/2 调整为 HTTP/1.1sudo git config --system http.version HTTP/1.1


2.2.3. 验证docker-compose拉取是否成功

docker-compose --version


2.2.4. 修改docker-compose执行权限

docker-compose拉取下来并修改操作权限。

sudo chmod +x /usr/local/bin/docker-compose

三、部署Nextcloud

3.1. 配置yml文件

#创建yml文件vim ./docker-compose.yml #配置容器环境参数 version: "3"services:  nextcloud:    container_name: app-nextcloud    image: nextcloud:latest    restart: unless-stopped    ports:      - xxx:80    environment:      - MYSQL_HOST=mysql      - MYSQL_DATABASE=nextcloud      - MYSQL_USER=nextcloud      - MYSQL_PASSWORD=xxx    volumes:      - /home/forrest/Data/docker_data/nextcloud/data:/var/www/html   mysql:    container_name: db-nextcloud    image: mysql:latest    environment:      - MYSQL_DATABASE=nextcloud      - MYSQL_USER=nextcloud      - MYSQL_PASSWORD=xxx      - MYSQL_ROOT_PASSWORD=nextcloud    volumes:      - /home/forrest/Data/docker_data/nextcloud/db:/var/lib/mysql


敲黑板,两个重要的避坑点,请当心!!!

  • port端口配置

9100(本地主机端口号):80 (容器端口号,默认80)

本地主机端口号是后面配置frp穿透工具时还会配置使用的参数,请牢记!!!

  • volumes卷的配置

/path/to/data(本地文件夹):/var/www(lib)/html(mysql)(容器内对应文件夹),本地文件夹就看宝子们自己的喜欢命名来,容器对应文件夹是nextcloud默认的。

3.2. 启动容器

#启动nextcloud容器,mysql容器docker-compose up -d

四、配置frp内网穿透模式

4.1. 内网穿透工具frp下载

有篇专门写frp工具的使用,可以参考这一篇:《自建家用服务器》

4.2. 云主机端下载frp工具并配置frps服务器参数

#通过vim对配置文件进行修改 $ vim ./frps.toml #绑定端口号bindport=9200

4.3. 本地主机下载frp工具并配置frpc客户端参数

# 通过vim进行配置文件修改 $ vim frpc.toml # frpc.toml配置文件内容serverAddress = "云服务器公网ip"serverPort = 9200 [[proxies]]name = "nextcloud"type = "tcp"localIP = "127.0.0.1"localPort = 9100remotePort = 9020

4.4. 启动frps以及frpc

4.4.1. 安全组配置

frps和frpc的配置文件中,serverPort:9200,remotePort:9020,这两个端口号需要在云主机上放通才可以正常通讯,路径:阿里云账号进入控制台->安全组

4.4.2. 启动内网穿透模式

#云主机启动frps进程nohup ./frps -c ./frps.toml >/dev/null 2>&1 & #本地启动frpc进程nohup ./frpc -c ./frpc.toml >/dev/null 2>&1 & #通过ps查看进程ps -ef | grep frps(frpc)


宝子们看到截图是不是被整迷糊了,nextcloud_nohup.out是什么鬼,其实,这是我的运行日志,不需要的可以直接丢进黑洞(/dev/null)。

五、 登录Nextcloud

5.1. 通过公网ip登录nextcloud网盘

通过阿里云公网ip:9020,宝子们可以看到nextcloud的登录界面,第一次登录会让你创建管理员并配置密码。

到这里,后面的操作就是大家再熟悉不过的了,我也就不再啰嗦了!

5.2. 测试网盘

从我的工作电脑上传了照片到网盘,上传的速度非常满意。接下来,我准备把某度盘的资料通通迁移过来,有需要我出一期迁移资料篇给大家,有需要的宝子们可以留言。



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
存储 Ubuntu 网络协议
如何本地部署Nextcloud结合cpolar搭建专属私有云盘远程访问(内网穿透)
如何本地部署Nextcloud结合cpolar搭建专属私有云盘远程访问(内网穿透)
191 0
如何本地部署Nextcloud结合cpolar搭建专属私有云盘远程访问(内网穿透)
|
7月前
|
存储 Ubuntu 网络协议
轻松搭建Nextcloud私有云盘并实现远程访问【内网穿透】
轻松搭建Nextcloud私有云盘并实现远程访问【内网穿透】
|
7月前
|
存储 Ubuntu 网络协议
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
Ubuntu本地部署Nextcloud并结合内网穿透实现远程访问搭建个人云盘
444 1
|
9天前
|
数据采集 安全 文件存储
NAS极速远程访问!贝锐花生壳推出飞牛fnOS专属内网穿透服务
贝锐花生壳与飞牛私有云fnOS合作,推出专属客户端及映射服务,实现3倍传输速率提升。用户只需在fnOS应用中心搜索“花生壳”,一键安装即可享受高速、稳定、安全的远程NAS访问体验。
109 8
|
3月前
|
文件存储 数据安全/隐私保护 Docker
搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问
Jellyfin、Plex 和 Emby 是流行的媒体服务方案,可在品牌 NAS 或自建 NAS 上组织、串流和管理多媒体藏品。利用集成的 Docker 或应用管理面板,可一键快速安装这些服务。贝锐花生壳提供无需公网 IP 的远程访问解决方案,支持 Docker 安装,轻松实现内网穿透,让用户随时随地访问媒体库。
149 0
|
数据安全/隐私保护 Windows
本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问
本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问
444 0
|
7月前
|
存储 数据安全/隐私保护 Docker
开源网盘程序,自建网盘指南
ShowTa是一款开源的个人和企业网盘程序,提供简洁界面和多种功能,如预览文件、在线播放视频、设置文件夹密码等。它支持Docker部署、WebDAV协议,可将网盘映射到本地磁盘,并能挂载阿里云盘。通过WebDAV,用户可在电视上观看阿里云盘内容。了解更多信息,请访问[GitHub](https://github.com/bosnzt/showta)和[演示地址](https://www.showta.cc)。
|
7月前
|
存储 安全 数据安全/隐私保护
使用cpolar内网穿透实现内网SeaFile私有云盘的公网访问
现在我们身边的只能设备越来越多,各种智能手机、平板、智能手表和数码相机充斥身边,需要存储的数据也越来越大,一张手机拍摄的照片都可能有十多M,电影和视频更是按G计算。而智能设备的存储空间也用的捉襟见肘。能存储大量文件的,最合适的也就是家用电脑了。但家用电脑又存在无法随时随地调阅文件资料的问题。但只要经过简单几步,就能让家里的电脑秒变随时随地调阅存取文件的私有云盘。今天,笔者就为大家介绍,如何使用两个简单软件,让家里的电脑变身安全高效的私有云盘。
|
7月前
|
应用服务中间件 PHP 数据库
搭建LightPicture开源免费图床系统「公网远程控制」
搭建LightPicture开源免费图床系统「公网远程控制」
|
数据安全/隐私保护
本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问(2)
最后,我们点击cpolar客户端界面左侧“状态”项下的“在线隧道列表”按钮,就能找到Plex服务器的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地Plex Media Server登录页面,即达成了本地页面发布到公共互联网上的目的。
369 0