#长毛象运维 https://relay.mstdn.one 搭建经验
中继后端:
官方的安装教程算是相对清楚的 https://github.com/yukimochi/Activity-Relay/wiki/01.-Install
Docker 端口映射等的设置可以参考长毛象的配置文件
Nginx 配置可以参考 https://github.com/mstdn-kr/activity-relay/tree/master/installation
页面魔改:
Meow的原理是定期执行一个脚本,从中继redis里获知域名列表,通过API采集站点信息,转换成markdown。然后用ivy生成静态网页。
看懂这个python脚本是魔改关键 https://git.moe.cat/lynx/relay-page/src/branch/master/gen-member-list.py
原版通过redis-cli获得KEYS,但也可用redis官方的pip包,以便在容器间直接通信。
实时日志:
Websocket 服务端魔改自一个简单的 python https://github.com/jizhang/logviewer
把 python 关进 docker 参考了 https://stackoverflow.com/questions/50333650/install-python-package-in-docker-file
获取日志的原理是在 relay 的命令后面加 2>1& | tee DIR 导出到文件,再映射进ws的docker。
抛砖引玉,希望能有所启发。
顺便一提,Activity-Relay 似乎自身没有投递统计功能,因此meow脚本中的有关内容都只能拿掉。从原理上来讲,应该可以通过分析Debug日志乃至于直接改go源代码来实现统计。