n8n实现Misskey向Mastodon、GoToSocial及Memos的多端同步
前言 25年下半年,我才第一次接触联邦宇宙的概念。 以下摘自 联邦宇宙 - 维基百科,自由的百科全书 : 联邦宇宙(英语:Fediverse,简称Fedi)在英文中是“联邦”(Federation)和“宇宙”(Universe)的混成词。 联邦宇宙由一系列自由软件组成,有一组互联的服务器(用户自建或第三方托管),一起提供网络发布(如社交媒体、微博、博客或者网站)或者文件托管功能。 虽然各个服务器是独立运行的,且各个实例繁多,内容多样, 但服务器之间可以彼此互通。 在不同的服务器(实例)上,用户可以创建不同帐号,因为服务器上运行的软件支持一种或多种遵循开放标准的通信协议,能够跨越实例边界而通信。 与在单一服务器上运行的传统社交网络相比,联邦宇宙的运行方式更开放,其服务器的分散性,使联邦宇宙更安全可靠。 从一开始接触,我就对此概念非常感兴趣,并尝试搭建自己的联邦宇宙服务器,12月底,从较为复杂的Mastodon(又称乳齿象、长毛象或万象)开始,到Misskey,再到最简单占用资源最小的GoToSocial,一个个都搭建体验了一遍,各有优缺点,还有于25年6月初就已搭建的memos 0.18.2服务,虽无联邦的功能,但同样属微博、说说类型,一时间竟无法确定最终使用哪个系统。 刚好,同一时期接触到了n8n工具,就决定以系统占用量不如Mastodon大、功能比GoToSocial更丰富的Misskey作为发布端,利用自动化工作流工具n8n,实现多端同步功能。 在这篇文章中,将分享如何通过 1Panel 部署 n8n,并记录一下同步工作流针对不同平台特性遇到的一些典型问题。 一、 n8n 的部署与关键配置 我的 n8n 是通过 1Panel 应用商店安装的。虽然应用商店的一键部署很方便,但为了让 n8n 的 Webhook 能够被外部正确识别,以及优化系统资源,建议安装前自定义 docker-compose.yml 文件。 1. 为什么需要自定义配置? 在默认安装下,n8n 的 Webhook 节点生成的 URL 往往是内网 IP 或 localhost,会导致 Misskey 无法回调成功。因此,我们需要通过环境变量 WEBHOOK_URL 明确告诉 n8n 的对外访问域名。 同时,为了减少控制台不必要的报错日志并保护隐私,关闭了诊断数据上传。 2. docker-compose 配置 目前正在使用的配置片段,关注环境变量: networks: 1panel-network: external: true services: n8n: container_name: ${CONTAINER_NAME} deploy: resources: limits: cpus: ${CPUS} memory: ${MEMORY_LIMIT} environment: # 必须设置为 false,配合反代使用 N8N_SECURE_COOKIE: false # 指定外部访问的域名,否则 Webhook 无法被正确触发 WEBHOOK_URL: https://n8n.xiaoten.com/ # 关闭诊断数据,减少日志干扰 N8N_DIAGNOSTICS_ENABLED: false image: n8nio/n8n:2.2.2 labels: createdBy: Apps networks: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:5678 restart: always volumes: - ./data:/home/node/.n8n 剩余 23 行代码 展开剩余代码 配置完成后,重启容器,会发现 Webhook 节点里生成的 URL 变成了自定义域名 https://n8n.xiaoten.com/...。
以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。
登录后,加入这场讨论。
登录参与