在 Heroku 部署 saucenao-search-tgbot

在 Heroku 部署 saucenao-search-tgbot

IT, 其他

SauceNAO 是一个反向搜图网站,它可以比较方便的搜索插画的来源。saucenao-search-tgbot 是一个基于 SauceNAO api 的 telegram bot 项目,可以向机器人发送需要搜索的图片,获取源图链接。

准备工作

  • 注册 Heroku 账号

Heroku是一个支持多种编程语言的云平台,可以注册一个免费账户使用云应用以及数据库。

新建 Heroku app

选择一个 app 名称,并选择运行的节点创建新的 app

添加 Heroku Postgresql 到 app

如图所示,搜索并添加 Heroku Postgresql

初始化 Postgresql

saucenao-search-tgbot 不包含对数据库的初始化功能,因此需要运行命令创建一个表。

首先在数据库的 Settings 中找到 URI

复制该 URI,Linux 中运行 export DATABASE_URL=URI,在 Windows 中运行 set DATABASE_URL=URI

随后运行 heroku pg:psql -c "CREATE TABLE userdata (uid VARCHAR(20),min_similarity int,max_result_count int);" --app APPNAME 创建数据表。

部署 Heroku 代码

上述工作完成后即可部署代码到 Heroku。

首先克隆项目

git clone https://github.com/amefs/saucenao-search-tgbot

进入代码所在文件夹,运行如下命令设置上游

heroku git:remote -a APPNAME

准备好 .env 文件:


SAUCENAO_APIKEY= 
TG_TOKEN= 
WEBHOOK_URL= 
DEBUG=saucenao-tg:* 
DB_TYPE=pg 
DB_URL= 
MINIUM_SIMILARITY=50 
MAX_RESULT_COUNT=3

接着注释掉 .gitignore 中所有的 .env

在部署到 Heroku 之前,你需要运行如下指令:

heroku config:set NPM_CONFIG_PRODUCTION=false YARN_PRODUCTION=false

这将会禁用 Herku deploy 的自动修建功能,这将会保留 devDependencies,这个机器人的代码需要 devDependencies 中 tsc 的支持。

最后推送并部署项目

git add .
git commit -am "get start"
git push heroku master

上述步骤顺利的话就可以通过 bot 搜索图片源了。

Amefs, EFS, IT
上一篇文章
Solidworks 2021 RTX 显卡修复错误显示
下一篇文章
自建本地 docker registry 简易教程

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Fill out this field
Fill out this field
请输入有效的电子邮箱地址。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

keyboard_arrow_up