摘要

因为树莓派到了,不做实验的时候放在这里有点浪费,就花了点时间搭了个cloudreve玩玩

树莓派安装

1.树莓派系统安装请看这里 2.树莓派挂载SSD固态硬盘
因为之前在windows上用,初始化过并且有文件,就不想格式化了,文件系统是NTFS的,所以就要下个包兼容一下
以下都是root用户下操作
切换root用户

sudo su

否则在下面命令之前都加sudo 也是可以的
插上U盘

fdisk -l

可以看到是/dev/sda1

docker HFish搭建教程_云原生


查看挂载情况:

df -h

此时应该是没有挂载的,没有/dev/sda1的挂载信息

docker HFish搭建教程_云原生_02


安装ntfs-3g,这样树莓派就可以在NTFS上写操作

apt-get update
apt-get upgrade
apt-get install ntfs-3g

加载内核模块

modprobe fuse

创建文件夹用来挂载固态

mkdir /mnt/udisk

挂载

mount /dev/sda1  /mnt/udisk

再次查看挂载情况

docker HFish搭建教程_运维_03


可以看到/dev/sda1挂载到/mnt/udisk了

设置开机自动挂载:

vi /etc/fstab

在最后一行添加这个

/dev/sda1  /home/pi/seagate ntfs-3g defaults,nofail,noexec,umask=0000 0 0

ssd挂载就完成了

docker安装

参考这里 docker安装cloudreve

拉镜像

docker pull cloudreve/cloudreve

在挂载的文件夹/mnt/udisk文件下

mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db

docker HFish搭建教程_容器_04


docker HFish搭建教程_云原生_05


然后启动容器:

docker run -it \
-p 5212:5212 --name cloudreve  \
--mount type=bind,source=/mnt/udisk/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/mnt/udisk/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /mnt/udisk/cloudreve/uploads:/cloudreve/uploads \
-v /mnt/udisk/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve

docker HFish搭建教程_docker_06


你就能看到这样的东西,有管理员账号和密码

然后ip:5212就能到cloudreve的登陆页面了,比如我树莓派的ip地址是192.168.1.101

这里想起一点,树莓派你设置wifi后dhcp可能导致每次开机ip地址不同,

可以设置静态ip或者嫌麻烦直接使用路由器的ip与mac绑定,暂时没发现有问题。

docker HFish搭建教程_docker HFish搭建教程_07

这个时候就实现局域网网盘了,也就是同一个wifi下的设备都可以访问,上传下载。

进去发现用户只有1G的内存,右上角点小人,管理面板取设置,最好也改一下初始密码

docker HFish搭建教程_docker_08


如果你想要在外面也能访问,就要有公网ip,或者内网穿透。因为在学校,所以公网ip我是想都没想,直接取搞内网穿透

有一些免费的第三方提供内网穿透,但是流量比较少,如果平时没有大流量的话,勉强用用也行。不过我自己买了腾讯云的服务器,所以就自己用frp搞内网穿透。

如果没有买云服务器下面就可以不看了

在服务期端(有外网ip的云服务器端)
新建一个frps的初始化文件夹

mkdir /etc/frp/frps.ini

docker HFish搭建教程_运维_09


写入以下信息

[common]
bind_port = 7000
authentication_method = token
token = 123456  //请改成复杂的

然后

docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

–restart=always 总是自启动

–network host 使用宿主机网络

docker HFish搭建教程_容器_10

树莓派端(内网设备端)
新建一个frpc的初始化文件夹

mkdir /etc/frp/frpc.ini

docker HFish搭建教程_云原生_11


写入以下信息

[common]
server_addr = 你的服务器公网ip或者域名
server_port = 7000
authentication_method = token
token = 123456  //与服务器端的保持一致
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 5212
remote_port = 5212

docker HFish搭建教程_云原生_12

都启动之后你会发现还是不行

因为云服务器的端口还没有开放啦,去服务器防火墙开放7000,5212端口

docker HFish搭建教程_云原生_13


我就是忘记开7000,只开了5212搞了半天,大家别踩坑了。

再试一次,就可以通过外网访问咯

增加离线下载功能
安装aria2

RPC_SECRET改成你自己的密码

docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -e PUID=$UID \
    -e PGID=$GID \
    -e UMASK_SET=022 \
    -e RPC_SECRET=你的密码 \
    -e RPC_PORT=6800 \
    -p 6800:6800 \
    -e LISTEN_PORT=6888 \
    -p 6888:6888 \
    -p 6888:6888/udp \
    -v /mnt/udisk/cloudreve/aria2-config:/config \
    -v /mnt/udisk/cloudreve/aria2-downloads:/downloads \
    -v /mnt/udisk/cloudreve/temp_arai2:/aria2 \
    p3terx/aria2-pro

重新跑cloudreve,因为我们之前没有增加临时存放aria2的数据卷
先删除原来的cloudreve

docker stop cloudreve
docker rm cloudreve

然后

docker run -it \
-p 5212:5212 --name cloudreve -e TZ="Asia/Shanghai" --restart=unless-stopped \
--mount type=bind,source=/mnt/udisk/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/mnt/udisk/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /mnt/udisk/cloudreve/uploads:/cloudreve/uploads \
-v /mnt/udisk/cloudreve/avatar:/cloudreve/avatar \
-v /mnt/udisk/cloudreve/temp_arai2:/aria2 \
cloudreve/cloudreve

跑起来之后,到控制面板

docker HFish搭建教程_云原生_14


编辑节点

docker HFish搭建教程_运维_15


这样设置,点击测试,右上角会提示成功

docker HFish搭建教程_云原生_16


之后一直下一步就行

docker HFish搭建教程_运维_17


随便搞个图片试一下

docker HFish搭建教程_容器_18


下载成功


但是不能下载需要cookie信息的东西,比如去百度网盘获取直链会下载不了,比较烦

暂时只记得有这些步骤就可以了,如果哪里不够详细或者忘记说了,评论留言我看到就补充。