cloudreve云盘部署
cloudreve是一个开源的云盘系统,可以使用cloudreve搭建个人云盘,文件分享平台
主机部署
建立目录,用户
]# mkdir -p /cloudreve/{conf,conf} ]# useradd cloudreve -md /cloudreve
下载安装包
下载地址:https://github.com/cloudreve/Cloudreve/releases
根据需要,选择适合的安装包
说明:每个版本都提供了常见系统架构下可用的主程序,命名规则为cloudreve_版本号_操作系统_CPU架构.tar.gz 。比如,普通 64 位 Linux 系统上部署 3.0.0 版本,则应该下载cloudreve_3.0.0_linux_amd64.tar.gz
安装
解压安装包
]# tar xvf cloudreve_3.8.1_linux_amd64.tar.gz
解压后的文件,cloudreve为主程序文件
启动cloudreve
]# su - cloudreve ]$ /cloudreve/cloudreve
获取登录账号密码:
Admin user name是管理账户名称;Admin password是管理账户密码
默认访问端口为5212
登录cloudreve云盘
cloudreve配置项
一般cloudreve的默认配置文件为主目录下的 "conf.ini" 文件,也可以自己指定配置文件路径,启动时可以指定配置文件的路径:cloudreve -c conf/cloudreve.conf
[System] Debug = false ##节点类型 ##"master":主节点,"slave":备节点 Mode = master ##http端口 Listen = :5212 ##Session 密钥, 一般在首次启动时自动生成 SessionSecret = k3sTxG1WLWyW9tgAP6bIHcz0fMjLTGK8bIEaadMfNkBpvuzp0Sl6JkXusAM9NmVa ##hash值,一般在首次启动时自动生成 HashIDSalt = L35xR1GiV8i2JsxHOenXWKYk1sbD4hIQDT72lAPtk8h19megaBVBM5WsFGPH45oM [program:cloudreve] ##cloudreve主目录 directory=/cloudreve ##cloudreve命令路径 command=/cloudreve/cloudreve autostart=true autorestart=true ##cloudreve错误日志路径 stderr_logfile=/cloudreve/logs/cloudreve_err.log ##cloudreve日志路径 stdout_logfile=/cloudreve/logs/cloudreve.log environment=CODENATION_ENV=prod ##https相关配置 [SSL] ##https连接端口 Listen = :443 ##ssl证书.pem路径 CertPath = ##ssl证书签名.pem路径 KeyPath = ##数据库配置 ##如果使用内置的 SQLite 数据库,这一部分可以不用配置 [Database] ##数据库类型,目前支持 sqlite/mysql/mssql/postgres Type = mysql ##MySQL 端口 Port = 3306 ##数据库用户名 User = root ##数据库访问密码 Password = root ##数据库地址 Host = 127.0.0.1 ##数据库名称 Name = v3 ##数据表前缀 TablePrefix = reve_ ##字符集 Charset = utf8mb4 ##sqlsite数据库文件路径 DBFile = /opt/cloud/cloudreve.db
supervisor启动
也可以配置supervisor,来实现cloudreve的进程守护
下载相关插件及初始化全局配置
##下载相关插件 ]# yum -y install python-setuptools easy_install supervisor ##初始化全局配置 ]# touch /cloudreve/conf/supervisord.conf ]# echo_supervisord_conf > /cloudreve/conf/supervisord.conf
编辑配置文件
]# vim /cloudreve/conf/supervisord.conf [include] files = /cloudreve/conf/*.conf ]# vim /cloudreve/conf/cloudreve.conf [program:cloudreve] directory=/cloudreve command=/cloudreve/cloudreve autostart=true autorestart=true stderr_logfile=/cloudreve/logs/cloudreve_err.log stdout_logfile=/cloudreve/logs/cloudreve.log environment=CODENATION_ENV=prod
通过supervisor启动cloudreve
]# su - cloudreve ]$ supervisord -c /cloudreve/conf/supervisord.conf
docker部署
准备配置文件
cloudreve.conf
[System] Debug = false Mode = master Listen = :25212 SessionSecret = k3sTxG1WLWyW9tgAP6bIHcz0fMjLTGK8bIEaadMfNkBpvuzp0Sl6JkXusAM9NmVa HashIDSalt = L35xR1GiV8i2JsxHOenXWKYk1sbD4hIQDT72lAPtk8h19megaBVBM5WsFGPH45oM [program:cloudreve] directory=/cloudreve command=/cloudreve/cloudreve autostart=true autorestart=true stderr_logfile=/cloudreve/logs/cloudreve_err.log stdout_logfile=/cloudreve/logs/cloudreve.log environment=CODENATION_ENV=prod [Database] Type = sqlite DBFile = /cloudreve/data/cloudreve.db[root@systest-server2 opt]#
构建cloudreve镜像
dockerfile
cloudreve_docker
基于系统镜像alpine:3.18进行构建,更轻量
FROM alpine:3.18 ENV TZ=Asia/Shanghai \ cloudir=/cloudreve \ ver=3.8.3 ENV pack=cloudreve_${ver}_linux_amd64.tar.gz WORKDIR ${cloudir} RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \ apk add --no-cache tzdata && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN mkdir -p ${cloudir}/logs ${cloudir}/conf ${cloudir}/data ADD ${pack} ${cloudir} ADD cloudreve.conf ${cloudir}/conf EXPOSE 25212 CMD [ "/cloudreve/cloudreve", "-c", "/cloudreve/conf/cloudreve.conf" ]
执行镜像构建命令
将dockerfile文件"cloudreve_docker"及cloudreve配置文件"cloudreve.conf"放置在同一目录下,执行命令
]# docker build -f cloudreve_docker -t cloudreve:3.8.3 .
启动cloudreve容器
docker compose
cloudreve_compose.yml
需在宿主机上提前建立好目录:
/cloudreve/logs
/cloudreve/uploads
version: '3.8' services: cloudreve: image: cloudreve:3.8.3 container_name: reve1 ports: - 25212:25212 volumes: - /cloudreve/logs:/cloudreve/logs - /cloudreve/uploads:/cloudreve/uploads - revedata:/cloudreve/data restart: always volumes: revedata:
执行docker compose文件
]# docker compose -f cloudreve_compose.yml up -d
获取登录密码
docker相关文件
dockerfile:cloudreve_docker
docker compose:cloudreve_compose.yml