Skip to content

Latest commit

 

History

History
260 lines (183 loc) · 7.98 KB

File metadata and controls

260 lines (183 loc) · 7.98 KB

第24节 docker搭建cloudreve

❤️💕💕CS自学指南,大学教育无论是深度还是广度都没有办法支撑我们的职业素养,这个板块算是自己在CS学习中额外补充和记录的。个人博客:http://nsddd.top


[toc]

支持多家云存储驱动的公有云文件系统.

GitHub Test Workflow

演示站讨论社区文档下载Telegram 群组许可证

image-20220905202727987

✨ 特性

  • ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • 📤 上传/下载 支持客户端直传,支持下载限速
  • 💾 可对接 Aria2 离线下载,可使用多个从机节点分担下载任务
  • 📚 在线 压缩/解压缩、多文件打包下载
  • 💻 覆盖全部存储策略的 WebDAV 协议支持
  • ⚡ 拖拽上传、目录上传、流式上传处理
  • 🗃️ 文件拖拽管理
  • 👩‍👧‍👦 多用户、用户组
  • 🔗 创建文件、目录的分享链接,可设定自动过期
  • 👁️‍🗨️ 视频、图像、音频、文本、Office 文档在线预览
  • 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用
  • 🚀 All-In-One 打包,开箱即用
  • 🌈 ... ...

Cloudreve 是什么?

Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

docker安装

使用之前,请确保您知道 docker 的工作机制,在一般情况下,上述部署流程已经能够覆盖绝大多数使用场景。

我们提供官方的 docker image,支持三种架构 armv7, arm64 以及 amd64, 你可以使用以下命令部署

创建目录结构

确保运行之前:

  1. 手动创建 conf.ini 空文件或者符合 Cloudreve 配置文件规范的 conf.ini, 并将 <path_to_your_config> 替换为该路径
  2. 手动创建 cloudreve.db 空文件, 并将 <path_to_your_db> 替换为该路径
  3. 手动创建 uploads 文件夹, 并将 <path_to_your_uploads> 替换为该路径
  4. 手动创建 avatar 文件夹,并将 <path_to_your_avatar> 替换为该路径

或者,直接使用以下命令创建:

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

运行

然后,运行 docker container:

docker run -d \
-p 5212:5212 \
--mount type=bind,source=<path_to_your_config>,target=/cloudreve/conf.ini \
--mount type=bind,source=<path_to_your_db>,target=/cloudreve/cloudreve.db \
-v <path_to_your_uploads>:/cloudreve/uploads \
-v <path_to_your_avatar>:/cloudreve/avatar \
cloudreve/cloudreve:latest

⚠️ 注意:为什么选择 --mountdocker中 -v-mount 的区别是: 挂载主机目录使用 -v 时,如果宿主机上没有指定文件不会报错,会自动创建指定文件;当使用 -mount 时,如果宿主机中没有这个文件会报错找不到指定文件,不会自动创建指定文件~

我创建的文件

docker run -d \
-p 5212:5212 \
--mount type=bind,source=/cloudreve/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/cloudreve/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /cloudreve/cloudreve/uploads:/cloudreve/uploads \
-v /cloudreve/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest

需要注意的是:-d是后台运行,没有显示一些账户信息,我们需要用docker logs来查看账户登录名和密码信息:

docker logs 

image-20221029232707097

Docker Compose

除此之外,我们还提供 docker compose 部署,并且整合了离线下载服务 在此之前,需要创建 data 目录作为离线下载临时中转目录

创建目录结构

mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db \
&& mkdir -p aria2/config \
&& mkdir -p data/aria2 \
&& chmod -R 777 data/aria2

运行

然后将以下文件保存为 docker-compose.yml,放置于当前目录,与 cloudreve 同一层级,同时,修改文件中的 RPC_SECRET

随便改一下就好了

version: "3.8"
services:
  cloudreve:
    container_name: cloudreve
    image: cloudreve/cloudreve:latest
    restart: unless-stopped
    ports:
      - "5212:5212"
    volumes:
      - temp_data:/data
      - ./cloudreve/uploads:/cloudreve/uploads
      - ./cloudreve/conf.ini:/cloudreve/conf.ini
      - ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
      - ./cloudreve/avatar:/cloudreve/avatar
    depends_on:
      - aria2
  aria2:
    container_name: aria2
    image: p3terx/aria2-pro
    restart: unless-stopped
    environment:
      - RPC_SECRET=your_aria_rpc_token
      - RPC_PORT=6800
    volumes:
      - ./aria2/config:/config
      - temp_data:/data
volumes:
  temp_data:
    driver: local
    driver_opts:
      type: none
      device: $PWD/data
      o: bind

端口

  • 检查端口号

    lsof -i检查端口号,如果没有被占用了就不显示

    lsof -i:5212
    
  • 开放端口

  • 宝塔添加方向代理

image-20221029234109014

运行镜像

后台运行模式,可以从 docker/docker-compose 的日志中获取默认管理员账户用户名和密码

docker-compose up -d

或者,直接运行,log 将会直接输出在当前控制台中,请注意退出之后保持当前容器运行

docker-compose up

在之后的控制面板中,按照如下配置

  1. [不可修改] RPC 服务器地址 => http://aria2:6800
  2. [可修改, 需保持和 docker-compose.yml 文件一致] RPC 授权令牌 => your_aria_rpc_token
  3. [不可修改] Aria2 用作临时下载目录的 节点上的绝对路径 => /data

更新

关闭当前运行的容器,此步骤不会删除挂载的配置文件以及相关目录

docker-compose down

如果此前已经拉取 docker 镜像,使用以下命令获取最新镜像

docker pull cloudreve/cloudreve

END 链接