树莓派搭建nextcloud
树莓派搭建nextcloud
硬件环境
树莓派3b armv7架构
安装docker
安装后将用户添加到docker组后可以获得docker的权限不需要sudo,之后下载nextcloud的镜像
1 | curl -fsSL https://get.docker.com | sh |
准备数据盘
选取一个分区来保存数据,我是用u盘来保存数据
1.设置分区
使用fdisk需要更改分区表即可
格式化分区,需要注意因为nextcloud需要设置权限,所以不要将格式化为其他linux不能进行权限控制的分区,否则无法进行下一步
1 | sudo mkfs.ext4 /dev/sda1 |
2.更改权限
将分区挂载在了~/mnt/data位置,之后更改权限,更改完后使用ls来查看一下是否正确
1 | cd ~/mnt |
更改完后的权限
1 | drwxrwx--- www-data www-data data |
启动容器
将主机80端口,挂载的路径映射到容器
1 | docker run -d -p 80:80 -v ~/mnt/data:/mnt/data hub-mirror.c.163.com/arm32v7/nextcloud |
访问树莓派所在的ip在配置保存数据的目录选择映射的路径即可
域名配置
1.申请域名
随便选择一个域名供应商申请即可,我是在DNSPod上申请的域名
2.nextcloud配置
nextcloud中需要添加受信任的域名,配置文件路径
/var/www/html/config/config.php,如果没有用以下命令查找
1 | find / -name "config.php" |
在以下位置追加你的域名,注意容器中没有vim之类的编辑器,需自己下载
1 | 'trusted_domains'=>{ |
3.DDNS
ipv4的公网地址比较难获得,但很多的地方都支持了ipv6(宽带支持路由不一定),所以使用ipv6作为示例
使用 https://github.com/TimothyYe/godns 这个项目来实现ddns,本机(amd64)编译后上传到树莓派,编译参考项目readme,编译时注意加上架构选项,之后使用scp上传到树莓派即可
1 | GOARCH=arm GOARM=7 go build |
windows下使用cmd编译
1 | set GOOS=linux |
以下是config.json内容
1 | { |