cdhigh / KindleEar

Aggregates RSS and web content(Calibre recipe), sends to Kindle, and includes an e-ink optimized online reader.
http://cdhigh.github.io/KindleEar/
MIT License
2.71k stars 631 forks source link

最新版本还会有GAE简易部署方法吗? #668

Closed Steven630 closed 4 months ago

Steven630 commented 6 months ago

首先感谢作者更新,这次更新得太多了,功能也强了,能直接支持Calibre的recipe真是赞。

以前GAE是有两种部署方法的,有个简单的方法。不知道新版本有没有类似的办法。另外部署步骤好像没有以前那么详细了,编程基础不好的人不知道能不能顺利完成。

再次感谢作者辛勤付出。

cdhigh commented 6 months ago

GAE的免费额度一直在缩减,python 3版本效率又比python 2版本低一些,现在我每个月都要交钱,所以昨晚我干脆将GAE的关停了,先用Oracle cloud 代替。 所以我都不太建议部署到GAE 了,等稳定后我会创建Docker映像,现在建议找一个VPS部署。 至于简化部署方法,我看Kindlefere 之前的就很好,如果他们感兴趣,应该会更新其脚本的,因为部署方法基本没有变化。

cdhigh commented 6 months ago

我关停GAE后还没有更新github中网友共享库的链接,今天稍后更新吧,如果你现在部署,应该用不了网友共享库

Steven630 commented 6 months ago

谢谢大佬回复。Oracle那个感觉有点复杂,还是不太会部署……现在GAE免费额度已经不够了吗?以前好像基本是够用的

cdhigh commented 6 months ago

因为之前我是大量的裁剪calibre ,所以代码很简单,现在为了支持recipe,基本都保留了,calibre本身就过度设计,而且代码还特别啰嗦,所以我们在电脑上都能感知到calibre 运行缓慢,在GAE上就会消耗更多的资源。

cdhigh commented 6 months ago

如果不急,可以等我创建Docker,反正python 2版本还可以正常运行~ 除非你是early adopter~

cdhigh commented 6 months ago

Python 3版本使用google的第二代运行时,功能分的更细,额度更少,价格更贵。 所以建议保留原先的项目,就可以一直使用便宜的第一代运行时。 新建一个项目用于新版本,不要覆盖原先项目。

Steven630 commented 6 months ago

感谢!那我还是等等吧,确实没考虑到代码增加占用额度的问题。现在自己的编程能力也达不到,最好其他平台也能像以前那样,有比较简单的部署方法。我现在的水平也就只能改改recipe,部署是最大的难关。

cdhigh commented 5 months ago

GAE简易部署脚本和方法已经上传,已经是最简单的部署方法了,比Docker部署还简单,就一条命令的事情,一路按 y 就可以,字都不用打。

git clone --depth 1 https://github.com/cdhigh/kindleear.git && \
chmod +x kindleear/tools/gae_deploy.sh && \
kindleear/tools/gae_deploy.sh

https://cdhigh.github.io/KindleEar/Chinese/deployment.html

Steven630 commented 5 months ago

谢谢大佬😄。GAE现在免费额度大概每周能抓取推送多少呢,不知道够不够你。另外Docker也一窍不通,这个是要自己本地搭个服务器吗,还是和GAE一样是网络上运行的?yourdomain为何是可以自己写的

cdhigh commented 5 months ago

你尝试一下,应该和之前差不多,只是多一点点而已吧,之前我一直测试,耗用资源就多一些,而且有一些特别消耗资源的BUG,现在已经修正,所以耗用资源应该不是大问题了。

Docker是部署在VPS或裸机上的,可以本地或云端,VPS就是网络运营商将一个Linux服务器创建很多虚拟机,然后每个用户只使用一个虚拟机,裸机就是一台完整的Linux服务器,树莓派就算一台比较弱的裸机。 我现在一直在用Oracle Cloud的VPS,资源足够,比GAE好很多。

不过GAE真的很省事,HTTPS默认就提供,不需要折腾SSL认证,收邮件服务也默认提供,不需要像VPS那样还要折腾postfix(如果想使用邮箱中转服务的话)

yourdomain不传也可以,只是用于在文章后面添加 Save to xxx 使用,因为要调用你部署的KindleEar。

如果需要自己写Recipe的话,则还是推荐3.0版本,因为有一个chrome扩展程序可以不写代码就生成各种网站的Recipe脚本。

Steven630 commented 5 months ago

Economist好像把GAE的ip地址屏蔽了,以前的版本总是抓取失败,不知道3.0版本行不行。有没有把Docker镜像部署到Oracle Cloud的详细教程呢?

cdhigh commented 5 months ago

可以新建一个gae项目,选择其它区域,避开美国和欧洲的节点,看是否能抓。

Oracle cloud的Docker 部署不是有了吗? 关于Oracle cloud怎么开机器可以看下面的手动部署教程的前面几条就好。

Steven630 commented 5 months ago

Docker部分的教程是通用教程,而Oracle那里好像只有手动部署的五个步骤?可能是因为我不懂,所以也分辨不出来吧

cdhigh commented 5 months ago

是的,Docker部署章节从ssh连接开始。 而每个VPS运营商的开机器的步骤都不一样,开机器指你要选择机器的CPU和内存配置,操作系统,开放的端口等。 一旦机器开好,能使用ssh连接到云端,就可以照Docker 部署步骤开始执行。

Steven630 commented 4 months ago

部署后筛选英语,搜不到Economist。试着上传Calibre的economist.recipe,提示保存失败,no module named "html5_parser"

cdhigh commented 4 months ago

html5_parser是calibre作者使用C写的一个库,但是作者很懒,不提供二进制安装包(典型的极客,还有一个证据:pypi库的描述都懒的写),需要从源码编译,我折腾了很久都不能在windows上成功编译,linux可以编译,但是考虑不是每个平台都有编译条件,所以我使用html5lib代替。

没有想到还有很多recipe会直接使用这个库,这样吧,我再提供一个假的html5_parser,让这些recipe运行起来。

Steven630 commented 4 months ago

确实是他自己写的,他还说这个库"over thirty times as fast as pure python based parsers, such as html5lib"。

另外请教一下,这个代码GAE更新的时候是只要在shell输入最后一行kindleear/tools/gae_deploy.sh吗

cdhigh commented 4 months ago

部署和更新都是同一条命令,第一行的rm不是删除你的应用代码,而是shell的暂存区域文件。

rm -rf kindleear && \
git clone --depth 1 https://github.com/cdhigh/kindleear.git && \
chmod +x kindleear/tools/gae_deploy.sh && \
kindleear/tools/gae_deploy.sh
cdhigh commented 4 months ago

确实是他自己写的,他还说这个库"over thirty times as fast as pure python based parsers, such as html5lib"。

我刚才又在GAE上尝试安装html5_parser,不成功。

Steven630 commented 4 months ago

那就只能先弄个假的了是吗

Steven630 commented 4 months ago

还有个疑惑。Kindleear设置的投递时间是按什么时区的,是否和上传GAE时候选的地区有关。投递日志的时间和北京时间差了好几个小时。一开始地区选的澳大利亚。

cdhigh commented 4 months ago

投递时间和投递日志都是按照你在“设置”页面上选择的所在时区。

但是如果是GAE后台的日志,就是UTC时间。

我修改html5_parser可能要耽误一两天,但是你现在重新部署就可以使用扩展生成的脚本了,因为我更新了依赖库weedata。

cdhigh commented 4 months ago

已经增加html5_parser桩

Steven630 commented 4 months ago

已经增加html5_parser桩

感谢。现在重新部署就能使用引用html5_parser的recipe吗?

cdhigh commented 4 months ago

增加桩后,内置库增加了一百多个,包括了Economist, 我看了其脚本,它在正常的h1标题之前还添加了一个h4,导致文章标题前多了一页,如果你在意,可以自己修改Economist 脚本

Steven630 commented 4 months ago

economist推送失败,推送日志也没有显示no.news

另外请教一下截图是什么费用,刚部署两天就已经超出免费额度了吗Screenshot_20240422_111904.jpg

是两次部署造成的,还是推送失败造成的

cdhigh commented 4 months ago

我在本地推送是成功的,可以到后台看log是有什么错误。

GAE 好像每个账号只有免费500M储存空间,如果你部署两个KindleEar,可能空间就超了,删除其他的项目即可,不删除也没事,这个费用每个月是固定的,按空间用量每个月收费。 如果其他的用量不超,google不会向你收费的,因为数额太小了,网页上有,但我的实际账单里面就没有扣款。

Steven630 commented 4 months ago

只部署过一个旧版的、一个新版的。新版更新的时候重新部署不占用空间吧?

cdhigh commented 4 months ago

如果你只用我的脚本,不会,因为只部署一个版本,如果部署多版本的话就会。

反正google每隔一段时间就调降一次免费额度,google 已经不是开发人员的福地了,我现在已经脱离google了,支持google 只是历史因缘而已。

回想以前,我最高峰的时候在gae上部署了接近10个项目,还有商用项目,一分钱没花,都跑的挺好。 现在都移走了。

Steven630 commented 4 months ago

唉,大佬什么时候出个详细点的docker部署教程吧,真的不太懂😭

cdhigh commented 4 months ago

这样还是建议gae吧,确实省心,折腾Docker会有很多繁琐的事情。