# Page-2:服务部署
编写日期:2021年10月1日
首发日期:2021年10月2日
最后编辑日期:2021年11月14日
WARNING
注意:本节中所设置的各个网络地址只是个人制作时使用的,如有能力者可参考文章底部的“资料与来源支持”设置自己喜欢的网络地址。
# 基础环境
宝塔面板基础套件(安装教程)
Docker管理器
堡塔应用管理器
这里默认你已经具有了该基础
Docker网络环境配置
创建自定义网络
sudo docker network create --subnet=172.18.0.0/24 docker-1
1说明:这里选取了172.18.0.0网段,也可以指定其他任意空闲的网段,docker-1为自定义网桥的名字,可自己任意取名。
注意:这里子网掩码要使用255.255.255.0也就是IP后面的那个24,因为后面要使用iptables配置路由表,我之前使用255.255.0.0 无法配置.所以这里配置成24。这里输入命令后会生成一段哈希值。
创建网桥之后,使用“ifconfig
”查看 会多出一个网桥,该网桥在docker启动或者重启之后,会自动显示出来。所以他是永久存在的,可以使用命令“
docker network rm docker-1
”移除网桥。
# Cloudreve部署
基于Docker
docker run -d \
--name cloudreve \
-e PUID=1000 \ # optional
-e PGID=1000 \ # optional
-e TZ="Asia/Shanghai" \ # optional
--network docker-1 \ # 使用前面准备的网卡
--ip 172.18.0.2 \ # 基于网卡指定容器IP
--restart=unless-stopped \
-v <PATH TO uploads>:/cloudreve/uploads \
-v <PATH TO temp>:/downloads \ #1
-v <PATH TO config>:/cloudreve/config \
-v <PATH TO db>:/cloudreve/db \
-v <PATH TO avatar>:/cloudreve/avatar \
xavierniu/cloudreve:latest
2
3
4
5
6
7
8
9
10
11
12
13
14
PUID以及PGID的获取方式详见
为什么要使用PUID和PGID参见Understanding PUID and PGID (opens new window)。
假设当前登陆用户为
root
,则执行“id root
”就会得到类似于下面的一段代码:uid=1000(root) gid=1001(root)
1则在运行命令中的PUID填入
1000
,PGID填入1001
。
<PATH TO uploads>
:上传目录, 例如/sharedfolders
<PATH TO temp>
: 临时下载文件夹,需要与Aria的/downloads
对应,例如/dockercnf/aria2/temp
(如不需要离线下载功能#1
可以删除)
<PATH TO config>
: 配置文件夹,如/dockercnf/cloudreve/config
<PATH TO db>
: 数据库文件夹,如/dockercnf/cloudreve/db
<PATH TO avatar>
: 头像文件夹,如/dockercnf/cloudreve/avatar
示例:
先获取PUID和PGID
输入“
id root
”则在运行命令中的PUID填入
0
,PGID填入0
。启动容器
docker run -d --name cloudreve -e PUID=0 -e PGID=0 -e TZ="Asia/Shanghai" --network docker-1 --ip 172.18.0.2 --restart=unless-stopped -v /PAN/A/uploads:/cloudreve/uploads -v /PAN/A/downloads:/downloads -v /DockerConfig/Cloudreve/config:/cloudreve/config -v /DockerConfig/Cloudreve/db:/cloudreve/db -v /DockerConfig/Cloudreve/avatar:/cloudreve/avatar xavierniu/cloudreve:latest
1首次输入命令后,会下载镜像,等待下载完毕会生成哈希值即表明启动成功
也可以在宝塔面板查看,镜像是存在,容器是否是否启动成功
至此其实已经完成了Cloudreve的安装,添加反向代理后即可正常访问网站
提示:如果至此你已经打算开始使用了,可以在容器首次启动后在宝塔面板点击 Docker管理器-日志 查看初始账号密码,注意这个很重要(如果你打算配置Mysql数据库就可以无视这个提示)
# Mysql对接(可选)
在堡塔面板创建Mysql
点击 数据库-添加数据库 填入信息并记录提交
注意:需要指定容器IP
配置Cloudreve的数据库信息
[Database] ; 数据库类型,目前支持 sqlite | mysql Type = mysql ; MySQL 端口 Port = 3306 ; 用户名 User = root ; 密码 Password = root ; 数据库地址 Host = 127.0.0.1 ; 数据库名称 Name = v3 ; 数据表前缀 TablePrefix = cd_ ; SQLite 数据库文件路径 DBFile = cloudreve.db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17配置文件所在地址在Docker映射的地址,这里容器映射配置文件的地址是“/DockerConfig/Cloudreve/config/conf.ini”
添加上述代码,并修改其中账号密码为上一步中创建的数据库的账号密码以及IP地址修改为容器指定IP的网关,例如这里我的网关就要填写“
172.18.0.1
”开放数据库安全端口
因为这里Docker与宝塔面板的关系是平行关系,所以我们Docker里的应用需要访问宝塔面板的Mysql服务时需要开放安全端口。
点击 安全 输入
3306
为Mysql默认的端口地址。获取账号密码
点击 Docker管理器 然后在配置好数据库首次进行容器重启就可以查看到账号密码,务必记下。
到此你已成功将数据库移植到了宝塔的Mysql数据库里了,同样,至此你在添加反向代理后即可正常访问网站可以正常开始使用了。
# Aria2部署
基于Docker
docker run -d \
--name aria2 \
--restart unless-stopped \
--log-opt max-size=1m \
-e PUID=1000 \
-e PGID=1000 \
-e RPC_SECRET=<SECRET> \
-p 6800:6800 \ #1
-p 6888:6888 -p 6888:6888/udp \
--network docker-1 \ # 使用前面准备的网卡
--ip 172.18.0.3 \ # 基于网卡指定容器IP
-v <PATH TO config>:/config \
-v <PATH TO temp>:/downloads \
p3terx/aria2-pro:latest
2
3
4
5
6
7
8
9
10
11
12
13
14
PUID以及PGID的获取方式详见
为什么要使用PUID和PGID参见Understanding PUID and PGID (opens new window)。
假设当前登陆用户为
root
,则执行“id root
”就会得到类似于下面的一段代码:uid=1000(root) gid=1001(root)
1则在运行命令中的PUID填入
1000
,PGID填入1001
。
<SECRET>
: Aria2 RPC密码(你可以去这里 (opens new window)生成随机字符串)。请记下该密码!在后续Cloudreve设置Aria2中会使用。
<PATH TO config>
: Aria2的配置文件夹,例如/dockercnf/aria2/conf
。
<PATH TO temp>
: 临时下载文件夹,需要与Cloudreve的/downloads
对应,例如/dockercnf/aria2/temp
。如果不需要外网访问Aria2可以将
#1
所在行删除。
先获取PUID和PGID
输入“
id root
”则在运行命令中的PUID填入
0
,PGID填入0
。启动容器
docker run -d --name aria2 --restart unless-stopped --log-opt max-size=1m -e PUID=0 -e PGID=0 -e RPC_SECRET=更改此RPC令牌 -p 6800:6800 -p 6888:6888 -p 6888:6888/udp --network docker-1 --ip 172.18.0.3 -v /DockerConfig/Aria2/config:/config -v /PAN/A/downloads:/downloads p3terx/aria2-pro:latest
1首次输入命令后,会下载镜像,等待下载完毕会生成哈希值即表明启动成功
也可以在宝塔面板查看,镜像是存在,容器是否是否启动成功
这里就不再展示图示了与“Cloudreve部署”时相同
WARNING
注意:这一步中的RPC令牌需要记下,配置Cloudreve的离线下载时需要用到
这样你的Aria2容器就已经配置好了(配置Cloudreve的离线下载)
# 反向代理
创建一个网站
点击 网站-添加站点 填入当前“服务器内网”IP地址 点击提交
修改反向代理配置
先添加反向代理,点击 设置-反向代理-添加反向代理 并填入cloudreve容器绑定的自建网卡IP地址加端口5212 这里就填写“http://172.18.0.2:5212”
然后修改反向代理的“配置文件”为如下,并使其运行(这一步是为了解决部分反向代理后404问题,详见下方“支持与资料来源”)
注意:下方的是Apache的反代配置,可通过Apache转Nginx规则转换工具得到相应Nginx的规则,由于后期本人又将Nginx换成Apache所以,Nginx相关的配置以及测试就没在进行,大家可自行尝试,目前经测试Apache可正常使用。
<IfModule mod_proxy.c> ProxyRequests Off SSLProxyEngine on ProxyPassReverse / http://[YOUR_SERVER_IP]:5212/ AllowEncodedSlashes NoDecode ProxyPass "/" "http://172.18.0.2:5212/" nocanon </IfModule>
1
2
3
4
5
6
7访问站点
这样你就可以通过内网输入第一步创建网站时填写的IP地址进行访问了
# 内网穿透(可选)
说明:上边我们所作的一切都是在内网的环境,现在内网穿透就是要实现与外网服务器或用户进行通信。这里内网穿透有两个作用,一个是存储策略回调需要内网穿透且需要支持HTTPS,一个是你自己需要通过外网进行传输文件,或者开放给外网的人去使用。
如果你只是打算在内网使用该云盘,且不使用非本地存储策略那么你可以无视这一步。
内网穿透我们需要借助于第三方提供的服务,这里我选取了一种最省钱的方案,小蝴蝶内网穿透他既能满足HTTPS又能满足外网访问虽然带宽很小但他是最省钱的。内网穿透软件对比详见《好物推荐》。当然你也可以选择使用多个内网穿透软件,取各个软件的有点结合进行使用。这里我就不多折腾了!
小蝴蝶内网穿透部署
进入购买一个支持https的隧道,我这里购买的就是5元一个月的隧道
然后将内网服务地址填写为"cloudreve容器的IP加上端口5212"
例如我这里填写:172.18.0.2:5212
然后下载软件到
然后解压上传到根目录自己创建的“MYSOFT”文件夹中,并为方便重命名为“xhdnpc”,记得将文件夹的权限更改为777
然后使用堡塔应用管理器添加该软件,使其正常运行
然后我们就可以通过这里的二级域名进行访问了
资料与支持来源:
Cloudreve程序Github:
https://github.com/cloudreve/Cloudreve
CLoudreve官方文档:
https://docs.cloudreve.org/
Cloudreve论坛帮助,反向代理,加载主页出现请求时出现错误 404:
http://forum.cloudreve.org/d/1204/2
Cloudreve Docker - NAC:
https://github.com/xavier-niu/cloudreve-docker/blob/master/README-NAC.md
Cloudreve的Docker镜像:
https://registry.hub.docker.com/r/xavierniu/cloudreve
https://github.com/xavier-niu/cloudreve-docker
Aira2的Dcoker镜像:
https://registry.hub.docker.com/r/p3terx/aria2-pro
Docker生成虚拟网卡:
https://blog.csdn.net/liufuwu1/article/details/88096213?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163325126316780269862694%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163325126316780269862694&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-88096213.pc_search_result_cache&utm_term=docker+%E6%8C%87%E5%AE%9Aip&spm=1018.2226.3001.4187
网云穿官网:
http://xiaomy.net/
网云穿树莓派部署教程:
http://neiwangchuantou.cn/archives/74.html
小蝴蝶内网穿透:
https://www.npsvip.com/
宝塔面板官网:
https://www.bt.cn/
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28