Skip to content

Latest commit

 

History

History
158 lines (133 loc) · 6.72 KB

deploy.md

File metadata and controls

158 lines (133 loc) · 6.72 KB

HoYoRandom-PHP | 部署

使用方法请见README

[TOC]

部署

环境变量配置见此处

部署到Koyeb

查看DEMO

点击按钮部署.

部署到Koyeb

部署到Heroku

查看DEMO

点击按钮部署.

Deploy

部署到Railway

查看DEMO

点击按钮部署.

Deploy on Railway

部署到Render

查看DEMO

点击前往控制台.注意不要开Chrome的翻译,容易白屏.

  1. 建议直接用Github注册登录;
  2. 点击右上角New +,在下拉菜单中选择Web service;
  3. 输入本存储库URL: https://github.com/DreamOfIce/HoYoRandom-php
  4. 回车后进入配置页面,其中Region建议选新加坡(Singapore);
  5. 点击底部的Advanced,参考此节添加环境变量;
  6. 最后点击Create Web Service.

使用Docker部署

镜像基于Nginx-PHP-fpm构建.

Docker Hub镜像: dreamofice/hoyorandom-php
国内阿里云镜像: registry.cn-guangzhou.aliyuncs.com/dreamofice/hoyorandom-php

替换环境变量并执行以下命令,将在8002端口上运行本项目:

docker run -d --name='HoYoRandom-php' -p 8002:80 \
-e RES_REPO_NAME='DreamOfIce/HoYoRandomResources' \
RES_URL='https://cdn.example.cn/path/to/the/resource/' \
GITHUB_AUTH='Username:gh_tokenhere' \
WEBHOOK_SECRECT='Your Secret' \
dreamofice/hoyorandom-php

部署到VPS

  1. 安装Nginx,PHP和Git;
  2. 将$webRoot替换为你的web目录,并执行以下命令:
    webRoot='/var/www/HoYoRandom-PHP'
    cd ${webRoot}
    git clone https://github.com/DreamOfIce/HoYoRandom-PHP.git --depth=1
    cd ${HOME}
    mkdir -p ./script/hoyorandom
    echo "#!/bin/sh
    cd ${webRoot}
    git pull --depth=1 >/dev/null
    if [ ! $? ]; then
        git pull --depth=1 --rebase >/dev/null
    fi" > ${HOME}/script/hoyorandom/updateapi.sh
    chmod 777 ${HOME}/script/hoyorandom/updateapi.sh
    (crontab -l | echo "*/10 * * * * ${HOME}/script/hoyorandom/updateapi.sh" ) | crontab -
  3. 将以下内容加入站点配置:
    location / {
        try_files $uri $uri/index.html $uri.html $uri.php$is_args$args;
    }
  4. 完成啦§( ̄▽ ̄

环境变量

环境变量 描述 示例 必填
RES_REPO_NAME 存放资源的Gitub存储库名 Username/Repo DreamOfIce/HoYoRandomResources
RES_URL 资源文件的URL URL(带协议) https://cdn.example.cn/path/to/the/resource/
GITHUB_AUTH 用于调用GithubAPI User:GithubToken Username:gh_tokenhere
WEBHOOK_SECRECT 验证webhook请求(见此处) 任意字符串 AnyRandomString

注意事项

  1. 为避免达到GithubAPI限制,建议填写GITHUB_AUTH.关于如何创建Token,请见此处;
  2. 墙裂推荐填写WEBHOOK_SECRECT,以免Token被滥用.

部署资源存储库

PaaS平台

  1. 部署一节中所有PaaS平台都可以部署资源存储库;
  2. 还可以部署至以下PaaS平台: Vercel 4EVERLAND;
  3. 可以加一层Cloudflare反代,并配合自选IP达到更好的效果(新版自选IP详细教程(待填坑)).
  4. 欢迎补充!

部署到VPS

将$webRoot替换为你的web目录,执行以下命令以克隆存储库并配置自动更新:

webRoot='/var/www/HoYoRandomResources'
cd ${webRoot}
git clone https://github.com/DreamOfIce/HoYoRandomResources.git --depth=1
cd ${HOME}
mkdir -p ./script/hoyorandom
echo "#!/bin/sh
cd ${webRoot}
git pull --depth=1 >/dev/null
if [ ! $? ]; then
    git pull --depth=1 --rebase >/dev/null
fi" > ${HOME}/script/hoyorandom/updateres.sh
chmod 777 ${HOME}/script/hoyorandom/updateres.sh
(crontab -l | echo "*/10 * * * * ${HOME}/script/hoyorandom/updateres.sh" ) | crontab -

配置Webhook

  1. Fork我的资源存储库或进入你的自定义资源存储库;
  2. 点击Settings选项卡,并选择Webhooks;
  3. 点击Add webhook,并完成密码验证;
  4. 将Payload URL改为以下格式(删掉大括号):
    https://{你的API地址}/update?s={你的Secret}
  5. 无需修改其他选项,直接点击Add Webhook;
  6. 完成( ̄︶ ̄)↗ 

自定义资源存储库

可参照HoYoRandomResources
需要更多格式可以自己改代码( ̄_, ̄ )

图片

  • 存放于img目录下,二级目录为游戏名;
  • 默认可识别格式:webp,png,jpg,jpeg,gif;
  • 示例: img/bh3/51a65d2b6dfec78bc8cb3afd732441964917c329.webp.

音乐

  • 存放于music目录下,二级目录为游戏名;
  • 默认可识别格式:mp3,ogg,wmv;
  • 示例: music/ys/HOYO-MiX - Path of Yaksha 捷疾之业.mp3.

视频

  • 存放于video目录下,二级目录为游戏名;
  • 默认可识别格式:mp4,webm;
  • 示例: video/bh3/102759887-1-208.mp4.

一言

  • 存放于hitokoto目录下;
  • 文件名为游戏名.hitokoto.json(例如ys.hitokoto.json);
  • 内容为JSON数组,每个对象包含s(sentence)和w(wight)两个键,分别为句子和权重;
  • 示例文件.