手动编译、构建Cloudreve 自定义前端

想要手动编译Cloudreve?想要自定义Cloudreve前端?那就手动构建吧……然而官网那边的文档似乎写的太笼统???一些东西表示看一次懵一次……这里简单记录下实践操作的过程……

环境&配置

环境:Debian9

配置:良心云HK 1C2G(最低貌似需要2G内存,否则后续编译可能会报错)

正文

按照Cloudreve官网的文档,首先需要配置相关环境:

  1. 安装配置Go
  2. 安装Node.js
  3. 安装Yarn
  4. 执行go get github.com/rakyll/statik 安装statik工具

开始构建

# 克隆仓库
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
#进入目录
cd Cloudreve
# 签出要编译的版本,如3.3.2
git checkout 3.3.2

构建静态资源

PS:如果是想Diy前端

  • 方法一:需要先自行修改相关模板,修改完成后再执行以下方命令,构建静态资源。
  • 方法二:直接执行下方的命令构建静态资源。构建完成后将/Cloudreve/assets/build 目录移动到/Cloudreve 路径下,并将build目录修改为statics目录。等待最终编译完成后,再将diy的前端文件上传到该目录覆盖相关文件,重新运行cloudreve即可。
    # 进入前端子模块
    cd assets
    # 安装依赖
    yarn install
    #临时调高Node内存,如2048
    export NODE_OPTIONS="--max-old-space-size=2048"
    # 开始构建
    yarn run build

    嵌入静态资源

    # 回到项目主目录
    cd ../
    #设置环境变量
    export PATH=$PATH:$(go env GOPATH)/bin
    # 开始嵌入
    statik -src=assets/build/  -include=*.html,*.js,*.json,*.css,*.png,*.svg,*.ico,*.ttf -f

    编译项目

    # 获得当前版本号、Commit
    export COMMIT_SHA=$(git rev-parse --short HEAD)
    export VERSION=$(git describe --tags)
    # 开始编译
    go build -a -o cloudreve -ldflags " -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.BackendVersion=$VERSION' -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.LastCommit=$COMMIT_SHA'"

    运行Cloudreve

    编译完成后,在/Cloudreve 下会生成cloudreve 的可执行go文件,直接输入./cloudreve 即可运行。

    阅读剩余
    THE END