原因
去年使用过Railway.app搭建过Bitwarden玩,但是出于安全问题的考量,担心自己的密码放这里,万一无法连接服务器,那岂不是自己的人生会爆炸💥?思前想后还是转移到了官方服务上。这里搭建的小玩意儿放着不用,但最近发现railway给我发邮件,不会吧?!我的开发者计划要被降级啦?!有点不舍…又一个长久使用的免费平台将要失效了吗😭?担心一直运行的Bitwarden会产生付费,只好上仪表板看一下用量情况。
Bitwarden服务用不到诶,要不删掉算啦吧🤔,自己不用,还占着railway的资源有点难为情。删除完了又想:想想自己还有什么好玩的东西可以扔Railway上来。哦,有啦!我的RSS!!RSS好久没用过了。这么才想起来,完全是因为这是被创造的需求😖:因为想要创造它,所以才想使用它。
选择
自己在去年使用过项目rss,还用过freshrss,那么,理所当然的就是…不用这些啦👍!想到前几个星期自己在手机上发现一个很简洁漂亮的RSS阅读器,好像可以连接到Miniflux?自己好想试一下!那么就用这个啦😊~
搭建
准备:我们需要有一个Github账户,并在之后注册Railway与Supabase。
Github和Subabase都可以免费注册,但Railway注册后需要添加外币卡💳支付方式,添加支付方式成功后会自动加入Hobby计划
,此计划每月有5美元使用金,超出额度后按使用量付费。但5美元的额度已经能开好几个项目了,完全不用担心诶🎉!
创建仓库
创建一个存放miniflux的Dockerfile文件的仓库。
点击这里在Github上创建仓库。
参数设置:
Description
可以不写。仓库可以向我一样选择私有仓库:毕竟这些代码对开源社区一点帮助也没有😶。
下方的Initialize this repository with:
中的Add a README file
打上对勾,生成README.md
文件:这是因为不生成这个文件,后面的仓库主页会提升你克隆仓库执行一大段代码,我😵💫完全看不到一些网页创建文件的按钮在哪里。
再下面两个选项是添加忽略文件与许可证的操作,我们保持默认就好啦😶!
点击Create repository
创建仓库。
创建文件
在仓库的Add file按钮点击,在点击Create new file创建文件。
文件名Dockerfile
,内容:
|
|
后面的2.0.46
是我在写这篇文章时(@2023年8月4日)的最新版本,离这个时间点很远的朋友们可以在官方Docker仓库中找到最新版本的代码替换,尽量不要使用latest,这样版本不明确。
点击Commit changes
保存修改。
没错!只需要一行代码!这是因为Railway原生支持Dockerfile,我们只需要创建一个Dockerfile文件让Railway读取到项目信息进行编译就好。
创建数据库
打开Supabase,可以使用Github账户直接登录。使用Supabase的原因是这家可以免费创建两个PostgreSQL数据库,正是我们要搭建的Miniflux需要用到的数据库,好巧呢😑(捧读)~~
这里创建的密码一定要记住,因为Supabase不会在任何地方显示你的密码。如果忘记只能在项目的设置中重置密码。位置尽量选择美国,因为Railway.app的服务器在美国西部俄勒冈州,最起码我是如此。这样Miniflux和数据库的物理距离近一点,对数据库的读写操作也快些😁。
物理距离的问题我深有体会🥲,我最近(@2023年8月)在测试Ghost博客,服务器物理位置在洛杉矶,而创建的供Ghost使用的MySQL数据库在新加坡。在启动Ghost博客后我发现网站迟迟打不开,输出Log发现几分钟过去Ghost还在数据库中创建表结构😮。再次重新部署到美国西部的服务器上数据库后,仅仅几秒就完成了数据库的相关操作,网站的运行也很流畅😚。
点击Create new project
后稍等几分钟,然后点击项目中左下角的齿轮图标打开设置。点击Database
项,忘记密码的朋友可以点击Reset database password
重置密码。我们的数据库连接在下方的Connection string
中,点击URL
,会显示形如:
|
|
这样的连接,拷贝一下将[YOUR-PASSWORD]
替换,下一步会用到。
部署
打开Railway,点击+ New project
创建新项目。
Railway可以直接使用Github登录,但可能会在之后需要添加外币卡。设置完支付方式后,每月有5美元的免费额度哦。
然后点击Depoly from Github repo
,找到自己刚刚创建的仓库,点击Deploy now
部署。
但毫无疑问,第一次部署一定会失败😝:因为我们并没有设置数据库。如上图中显示日志:connection refused
。没关系,请座和放宽~我们先搁置争议,来下一步😌。
域名
在项目中的Settings
选项卡中找到Domains
。
-
有域名的朋友可以点击
Custom Domain
输入一个自己的域名,如我的是rss.irithys.com
。输入后Railway会检测到此域名未解析到Railway服务器上,会让你添加一个CNAME解析。自己打开DNS设置商的网站自己手动设置就好。当Railway检测到DNS记录设置好后会在你设置的自定义域名下方显示
Setup complete
。 -
没有域名的朋友直接点击
Generate Domain
生成一个随机域名。
将自己的域名拷贝保存,下一步会用到。
环境变量
点击项目打开,然后选择Variables
项打开,再点RAW Editor
打开环境变量编辑器,输入:
|
|
注意,环境变量里的
BASE_URL
必须像上面这样加上http或https,不然会出现[FATAL] config: invalid BASE_URL: scheme must be http or https
这个错误😥。
点击Update Variables
保存,Railway会自动重新部署,我们座和放宽时的错误会已经修复。
在Deployments
中当前部署的任务背景色变成绿色时,代表部署成功😋,这时候就可以打开域名访问啦🎉。
但是我打开域名页面后大眼瞪小眼看了许久,很确认自己并没有设置过什么用户名和密码🤨,那怎么办呢?没办法,只能翻翻官方文档咯。
发现官方文档中有CREATE_ADMIN
、ADMIN_USERNAME
与ADMIN_PASSWORD
这几项可以配置。
那么再次打开环境变量编辑器,追加:
|
|
保存后再次触发自动部署,稍作等待后打开网页,登录成功😎~
设置
打开Miniflux后,可以在设置中修改为中文。推荐将设置中的文章排序由旧->新
修改为新->旧
。
看起来还不错?蛮干净的。作为一个RSS获取工具他能做到的已经做到了。
文章页面看着也还可以。足够日常使用啦!
最后提一下,额度问题朋友们不用担心,因为资源使用量占大头的数据库我们使用了Supabase免费资源的原因,Railway产生的使用费用极少,每月大概不到0.3美元的样子,要知道我们的免费额度有5美元哩☺️!!详细的使用量可以在Usage中查看。Usage by Project中的Estimated是我们当月估计使用费用。
设置中的集成导航栏里我观察到还支持Fever、Google Reader、Pinboard、Instapaper、Pocket、Wallabag、Notion、Nunux Keeper、Espial、Linkding、Telegram Bot、Matrix Bot。好多我都可以用到诶!将来一定会再出一篇文章来讲这些如何玩😊。
Android端
你以为这就完了🤔?怎么可能😏!!!毕竟费这么大事情就是为了打开个网页看自己博客有没有更新的?!那我直接打开博客看看不就完了?一个RSS做这么复杂做啥子嘛。当然是…这里隆重请出新闻
应用🎉🎉🎉
没错,看启动页就知道为什么啦😚,它可以支持从Miniflux获取RSS源!我们可以点击连接 Miniflux
,输入域名、用户名、密码登录。
挺好看的对吧!重点是,可以直接在手机上添加RSS源,并且直接和咱们搭建的Miniflux云端同步!!!在手机上添加删除源后可以直接同步到云端🤩,我的天,太赞了好嘛!对于多持设备的人来讲简直是福音😎。但还有一些RSS获取信息软件的常见Bug:无法正确显示博客内一些短代码样式。但瑕不掩瑜,这样看博客信息真的很方便诶。
最后讲一下,开始用RSS获取消息的朋友们,不要忘记来博客评论😭。