分享一个不错的Uptime开源监控项目

简介 之前一直使用gatus来监控一些服务,但是最近发现了一个更强大的开源项目uptime-kuma,web 界面功能更加丰富,遂决定转向uptime-kuma。 项目地址 https://github.com/louislam/uptime-kuma 安装 最方便的方式就是使用docker-compose。 version: "3" services: uptime-kuma: image: louislam/uptime-kuma container_name: uptime-kuma volumes: - uptime-kuma-data:/app/data - /var/run/docker.sock:/var/run/docker.sock restart: always network_mode: host volumes: uptime-kuma-data: 支持多种类型监控 http ping tcp dns docker … 支持多种类型告警 飞书 邮件 Telegram 企业微信 webhook … 最后 总的使用下来还是非常不错的。

September 25, 2022

突然想做一个自建评论系统

感慨 打开了自己的博客,发现上一次写博客都是去年6月份了,居然都过去一年了。感慨之余,突然想写点什么,就写写刚刚想到的自建评论系统吧。 起因 之前博客的评论系统是用的disqus,不过总是有点问题,每一篇文章都可以看到所有的评论。然后又折腾了一下,换了现在的这个gitalk。大概看了一下,做得还是挺巧妙的,用github的issue在存储评论,然后用gitalk的评论来显示评论。这样省下了自建服务器。不过搜索了一下,没有找到自建评论系统的开源项目,而使用像disqus或者gitalk这种还是会有一些限制。感觉开发一个自建评论系统还是可以多一种选择。 设计 框架选择 设计的话会考虑前后端分离的方式,后端打算使用FastAPI+TortoiseORM,然后前端打算使用React,或者考虑只提供一个SDK,本来我前端也不擅长,估计弄出来也很丑。 数据库设计 erDiagram project { int id varchar name } project ||--o{ post : contains post { int id varchar title } post ||--o{ comment : contains comment { int id varchar content } user ||--o{ comment : submit user { int id varchar name varchar email } 用户 考虑接入Github和Google的oauth2,然后把用户的信息存储在数据库中。 实现 仓库地址 https://github.com/long2ice/talkit 暂时先创建一个仓库地址吧,后面有时间了再看。

June 16, 2022

开源项目计划

有一些计划中的,感兴趣,想做的一些开源项目,在此记录一下,以免遗忘。 trader 项目地址:https://github.com/long2ice/trader 用 Go 开发的一个加密货币自动交易框架,使用自定义策略进行买卖,最终从中获利,项目优先级略高,基本框架已经搭建好,后续准备支持更多的交易所以及合约。 rearq 项目地址:https://github.com/long2ice/rearq 一个 asyncio 的分布式异步任务执行框架,Fork 自另外一个项目,做了一些修改和提升,最终想做成类似于 celery 或者 airflow 那样,带有 api 与 web 界面的 asyncio 异步任务框架。 fastapi-admin 项目地址:https://github.com/long2ice/fastapi-admin 打算用react-admin作为前端重写一个版本,感觉这个似乎更完善,要是早知道的话就好了。 dataetl 项目地址:https://github.com/long2ice/dataetl 打算将synch翻译成 Go 语言实现,顺便学习 Go 语言,优先级不那么高,因为有了 trader 这个项目。 MiraiPy 项目地址:https://github.com/long2ice/MiraiPy 原本打算将MiraiGo这个项目翻译成 Python 实现,可惜没时间暂时搁置了。 aiomysqlreplication 项目地址:https://github.com/long2ice/aiomysqlreplication 原本想实现一个 asyncio 下的mysql-replication,也是没有时间与契机,暂时搁置。 其它 想实现一个 Go 下面的 ORM,因为感觉现在的一些 ORM 比如gorm太难用了,不过 Go 语言限制比较多,不如 Python 灵活,估计需要进一步调研以及技术沉淀。 tortoise-orm性能优化,可能需要学习一下 Cython,或者重写一个性能更高的 asyncio MySQL 驱动,类似asyncpg。

January 29, 2021

第一次收到开源项目捐赠

今天突然收到一笔 PayPal 的 20 美元的转账,一开始看到邮件的时候还以为是垃圾邮件之类的,仔细一看没想到是真的。第一次收到开源项目的捐赠,说实话还有点激动。并不是钱的问题,而是自己的开源项目得到肯定,那种成就感与满足感是难以言说的。 本身做开源项目也是自己的兴趣与爱好,编写的也都是自己想要编写的代码,比起业务代码的枯燥,千篇一律,做自己的项目更能让自己灵感勃发,拥有成就感与满足感,甚至是废寝忘食。 作为一个程序员,从开源社区也是获益良多,而我觉得最好的回馈方式就是同样做开源项目,回馈社区。而身边却似乎很少能找到与自己同样想法的人,或为生活,或为利益,本身并不是热爱编程。而真正编程乐趣所在,也只有志同道合的人之间才能相互理解吧。与代码打交道,总是比复杂的任性要简单得多。

July 2, 2020