树莓派4B搭建NextCloud网盘实践
树莓派4B搭建NextCloud网盘实践
前言
这两天入手了一块树莓派4B的板子,准备外接一块硬盘,然后通过NextCloud进行管理,最终打算实现这样的效果:在家时,手机、电脑、投影仪等设备可以直接通过局域网地址访问这些资源。在外面时通过内网穿透,挂一个域名去访问这些资源。
准备工作
需要软硬件:
- 树莓派4B
- 硬盘(我用的是西数 2T 的移动硬盘)
- TF 卡 烧录系统用
- PC一台
- 公网IP服务器一台 用于内网穿透
- 域名 可选
- 树莓派 Ubuntu镜像
安装树莓派
- 下载镜像,我用的是Ubuntu 20.04
- 烧录镜像,用官方的工具Raspberry Pi Imager
- 将TF插入卡槽,注意金手指那一面对着主板,连接网线,上电
- 在路由器管理后台上找到树莓派设备,查看IP
- 使用ssh工具连接树莓派,默认的用户名密码都是ubuntu
部署NextCloud
- 安装Docker教程
- Docker安装Redis(如果不配缓存可以不需要)
- Docker 安装Mysql 由于Mysql官方不支持ARM架构,采用以下镜像: biarms/mysql
- Docker 安装NextCloud,下面详细介绍。
建议搭个网桥,将这三者都放在同一网络下,这样后续就可以使用容器名称进行访问.
NextCloud启动命令:
docker run -d --name nextcloud -p 8004:80 -v /data/nextcloud/config:/var/www/html/config -v /data/nextcloud/data:/var/www/html/data nextcloud
挂载了两个目录 分别是配置文件目录及数据存储目录
启动之后,配置管理员账户和数据库,如果Mysql在同一个网桥下,可以数据库地址可以直接填容器名:端口号
配置Redis缓存:
进入配置文件目录下,编辑config.php文件,加上Redis相关的配置,如下图:
注意 如果不在同一网桥下,host字段需要设置具体的地址。
重启NextCloud容器 使配置生效
配置域名解析
服务器端
需要公网IP,将域名指向公网IP服务器,并且在服务器上部署nps
docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
官方示例用的是host模式,如果不想用hos模式的,可以指定端口,nps需要用到8024和8080端口,启动8024端口用于和客户端通信,8080端口为后台管理界面。
进入后台管理界面,新建客户端。
点击新建的客户端左边的+号,会展开客户端的启动命令,如下图:
接下来配置域名解析
新增域名解析,客户端id填上面新建的客户端id,域名可以根据自己喜欢设置一个二级域名,目标填Nexcloud的地址,例如127.0.0.1:8001 如果后续的npc客户端使用host模式,直接用127.0.0.1即可,否则要找到具体的docker容器ip。
客户端
在树莓派上docker部署npc客户端
启动命令如下
docker run -d --name npc --net=host --restart=always ffdfgdfg/npc:latest -server=nps地址:8024 -vkey=客户端密钥 -type=tcp
启动成功后,在服务端管理后台可以看到客户端状态,如下图
完成
用配置的子域名访问NextCloud
可以愉快的玩耍啦~~~~
标题:树莓派4B搭建NextCloud网盘实践
作者:Cubeeeee
地址:http://blog.nps.fuguicun.com/articles/2020/10/15/1602734722246.html