使用docker搭建网盘

开源网盘有非常多可选的方案,我个人觉得cloudreve网盘最符合我的需求因为它足够简单。

创建桥接网络

我的想法是创建一个桥接网络,然后用宿主机的nginx反向代理暴露给公网访问,这样做的好处是宿主机不用开启端口。

docker network create --subnet=192.168.0.0/16 docker-network

部署网盘

$PWD表示你当前命令行所处的路径,我们将命令行切换到docker安装目录的volumes目录下。

cd /var/lib/docker/volumes
# 网盘
docker run -itd \
  --name cloudreve \
  --hostname cloudreve \
  --restart=unless-stopped \
  -e PUID=0 \
  -e PGID=0 \
  -e TZ="Asia/Shanghai" \
  -v $PWD/cloudreve/uploads:/cloudreve/uploads \
  -v $PWD/cloudreve/config:/cloudreve/config \
  -v $PWD/cloudreve/db:/cloudreve/db \
  -v $PWD/cloudreve/avatar:/cloudreve/avatar \
  -v $PWD/cloudreve/downloads:/downloads \
  --net docker-network \
  --ip 172.19.0.6 \
  xavierniu/cloudreve

配置数据库

cloudreve默认使用sqlite,我们改为使用mysql.

[Database]
Type = mysql
Port = 3306
User = <数据库用户名>
Password = <数据库密码>
Host = <这样填docker网络网关地址>
Name = <数据库名>
TablePrefix = cd_
Charset = utf8