使用n8n来构建自己的工作流

使用n8n来构建自己的工作流 在日常工作中,我们经常需要处理一些重复性的任务,这些任务可能非常耗时和繁琐,但它们又必不可少。为了提高工作效率,我们可以使用自动化工具来自动化这些任务,从而减少手动操作的时间和错误率。其中一款非常强大的自动化工具是n8n。 什么是n8n? n8n是一款开源的自动化工具,它可以帮助用户连接不同的应用程序和服务,并将它们组合在一起以实现自动化工作流程。n8n可以与超过200个不同的应用程序和服务进行集成,包括Slack、Google Drive、Trello、GitHub和Salesforce等。 n8n可以干什么? n8n可以帮助用户自动化各种不同的任务,例如: 将电子邮件通知发送到Slack频道 将新的Google表格行复制到Airtable数据库中 将新的Stripe付款通知发送到Discord频道 将新的GitHub问题创建为Trello卡片 这些只是n8n可以做的一小部分,因为用户可以使用n8n构建任何他们想要的自动化工作流程。n8n还具有其他高级功能,例如条件分支、循环和HTTP请求,使用户可以更复杂地自定义其工作流程。 安装 n8n 使用Docker-compose来进行应用的管理以及一键部署。 version: '3' services: n8n: image: docker.n8n.io/n8nio/n8n container_name: n8n restart: unless-stopped environment: - NODE_FUNCTION_ALLOW_EXTERNAL=* ports: - 5678:5678 volumes: - ./n8n:/home/node/.n8n - ./data:/data 为了在Code段使用到JS的一些其他的特性,以及通过 npm -g 安装的lib 这里需要加上 NODE_FUNCTION_ALLOW_EXTERNAL=* 这个环境变量。 n8n的基础用法 n8n的基础用法非常简单。下面是一些简单的步骤,可以帮助你开始使用n8n: 步骤1:安装n8n n8n可以在不同的操作系统上运行,包括Windows、macOS和Linux。你可以从n8n的官方网站https://n8n.io/下载适合你操作系统的版本。 步骤2:创建一个新的工作流 你可以在n8n的仪表板中创建一个新的工作流。点击页面左侧的“工作流”按钮,然后点击“创建工作流”按钮。 步骤3:添加节点 每个节点代表一个应用程序或服务,你可以在n8n的仪表板中找到超过200个已经准备好的节点。例如,你可能需要添加一个Gmail节点和一个Slack节点。 步骤4:配置节点 你需要配置每个节点的输入和输出,以便将数据传递给下一个节点。例如,你可以配置Gmail节点以在每次收到新邮件时触发,并将邮件内容传递给Slack节点以发布通知。 步骤5:保存工作流 在完成节点的配置后,记得保存工作流程。你可以为工作流程设置一个名称,并在需要时随时编辑它。 结论 总之,n8n是一款功能强大的自动化工具,可以帮助用户构建自己的工作流,提高工作效率,减少手动操作。其简单易用的界面和丰富的集成使其成为一个非常有用的工具。如果你经常需要处理一些重复性的任务,那么n8n绝对值得一试。

七月 5, 2023 · 1 分钟 · r4y

部署自己的碎片仓库-Memos

前 来推荐一个轻量小而美。使用 memo的方式来记录自己的知识和思维碎片 一个轻量级的自托管备忘录中心。开源且永远免费。 Memos 自己保管自己的资料。运行时生成的所有数据都保存在 SQLite 数据库文件中。 所有内容都将保存为纯文本,而不是 HTML。并且支持许多有用的降价语法。 采用Go + React.js + SQLite架构,整体封装非常轻量。 memos 相信开源才是未来,所有代码都已经在 GitHub 开源。 我的Memos 正文 直接使用Docker-compose来进行一键部署。简单高效。 version: "3.0" services: memos: restart: always image: neosmemo/memos:latest container_name: memos volumes: - memos-data:/var/opt/memos ports: - 5230:5230 volumes: memos-data: 拓展应用 Moe Memos ​ 一个兼容memos 的终端应用支持 iOS/Android Memos-bber ​ 随时记录memos 的浏览器插件

三月 8, 2023 · 1 分钟 · r4y

Homelab部署ArchiveBox来保存那些被404的过去

前 在404之前保存他,是一个很有意义的做法,特别的—-公众号。archivebox 可以完美的做到这一点。可以生成一个近乎相同的页面备份,来作为个人的永久保存。 🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more… 正文 安装过程十分简单顺畅。二进制文件安装,项目提供了一件安装的脚本 curl -sSL 'https://get.archivebox.io' | sh 使用Docker-compose来安装 curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/docker-compose.yml' docker-compose run archivebox init --setup docker-compose up

十二月 17, 2022 · 1 分钟 · r4y

使用Cloudflare的Wokers实现图片代理

前 听到边缘计算,serverless 感觉是不是离自己很遥远。但实际上这个已经是很成熟的技术了,在多个云厂商都提供了相关的方案。今天来简单的玩一下 CloudFlare 的workers,实现edge+serverless。 中 这里使用了cf 的workers来实现一个简单的图片代理。示例代码如下, 内容很简单,对参数中的URL进行一次fetch操作,并且返回实际代理到的图片内容。这样就可以用来对一些图片进行加速,或者去访问一些访问有问题的内容。 export default { async fetch(request) { const url = new URL(request.url) const r = url.searchParams.get('url') if(r === null) { return new Response("Usage: https://host/?url=...", { status: 404 }) } console.log('img url: ', r) return fetch(r).catch( (err) => new Response(err.stack, { status: 500 }) ) }, } POC: Google by proxy 后 Cloudflare 在Worker里面还推出了 D1,简单来说是Sqlite数据库。这是一个很大的进步,边缘也可实现简单的有状态的逻辑。想像空间就很大了。

十二月 17, 2022 · 1 分钟 · r4y

运行ETH轻客户端

前 又是一篇折腾Homelab的文章。运行一个属于自己的ETH节点是一个很酷的事情。但是随着ETH网络的增长。状态这个特性带来的问题也逐渐显现出来。目前的ETH如果需要运行一个全节点的话需要700GB的SSD。对于一般的玩家来说,这个在HomeLab的环境中算是一个不小的开销了。 所以这里来运行一个轻客户端来试着体验Geth的功能,因为他的硬盘开销只有区区的400M。为什么呢?因为他只存储了区块头信息。并没有保存区块内容。每次请求都需要去远程的 lightserver 上来获取信息。所以这里称之为一个客户端。 部署过程 部署过程是根据官方的Doc进行的。安装Geth,之后进行区块同步,没有什么特别的难点这里记录一下。 下面的几条命令在ubuntu下即可完成Geth的安装。 sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum sudo apt-get upgrade geth 下一步是生成配置文件。geth本身有缺省的参数,但是还是配置文件来的直观。使用下面的命令来对当前的配置进行导入 geth --syncmode light --http --http.addr 0.0.0.0 dumpconfig > ./config.toml 之后在系统中注册服务,用于进程的守护和日志管理。 cat << EOF > /etc/systemd/system/geth.service [Unit] Description=Ethereum go client [Service] Type=simple ExecStart=/usr/bin/geth --config /home/user/.ethereum/config.toml [Install] WantedBy=default.target EOF sudo systemctl restart geth 之后把服务跑起来,过会就能见到同步的过程了。 INFO [12-21|10:07:37.709] Imported new block headers count=192 elapsed=527.893ms number=14,873,535 hash=9d539e..33aec7 age=6mo3w3d 另外分享一些eth节点列表的查询站点。可以选取部分配置为static节点。 https://ethernodes.org/nodes https://www.nodewatch.io/ https://etherscan....

十二月 17, 2022 · 1 分钟 · r4y

TinyTinyRss--Docker部署

前 使用RSS来过滤自己的信息源,再信息爆炸的时代可能是很好的一个习惯。这里记录下tinytinyRss 的服务部署,简称 ttrss。是一个开源的RSS的订阅端服务,来把rss来进行汇集,提供web和 移动端使用。 这里记录一下一个玩具级别的一键部署的 docker-compose 的文件,以便后面直接恢复和复用。 代码 docker-compose.yaml version: '3' services: db: image: postgres:12-alpine restart: unless-stopped environment: - POSTGRES_USER=${TTRSS_DB_USER} - POSTGRES_PASSWORD=${TTRSS_DB_PASS} - POSTGRES_DB=${TTRSS_DB_NAME} volumes: - db:/var/lib/postgresql/data app: image: cthulhoo/ttrss-fpm-pgsql-static restart: unless-stopped env_file: - stack.env volumes: - app:/var/www/html - config:/opt/tt-rss/config.d:ro - themes:/var/www/html/tt-rss/themes.local/ - plugins:/var/www/html/tt-rss/plugins.local/ depends_on: - db backups: image: cthulhoo/ttrss-fpm-pgsql-static restart: unless-stopped env_file: - stack.env volumes: - backups:/backups - app:/var/www/html - etc:/var/www/html/tt-rss/ depends_on: - db command: /opt/tt-rss/dcron.sh -f updater: image: cthulhoo/ttrss-fpm-pgsql-static restart: unless-stopped env_file: - stack....

十一月 26, 2022 · 2 分钟 · r4y

Kcptun加速内网穿透

前 记录一下最近的homelab 的网络改造。因为在使用Zerotier来实现VPN的连接。但是因为连路质量问题。一直收到拨测告警。blog断断续续掉线。 所以用 Kcptun 来进行连接质量提升 关于kcptun 的项目,可以看到 github 的 https://github.com/xtaci/kcptun Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。 部署过程 内核参数优化 修改内核参数来优化UDP性能 sysctl -w net.core.rmem_max=26214400 sysctl -w net.core.rmem_default=26214400 sysctl -w net.core.wmem_max=26214400 sysctl -w net.core.wmem_default=26214400 sysctl -w net.core.netdev_max_backlog=2048 # vim /etc/sysctl.conf # kcptun opz net.core.rmem_max=26214400 net.core.rmem_default=26214400 net.core.wmem_max=26214400 net.core.wmem_default=26214400 net.core.netdev_max_backlog=2048 服务命令 #server /root/kcptun/kcp_server -l ":29900" -t "127.0.0.1:80" --key admin@123 --mode fast2 #client /root/qspace/kcptun/client_linux_amd64 -r 192.168.3.14:29900 -l :29901 --key admin@123 --mode fast2

八月 14, 2022 · 1 分钟 · r4y

Zerotier实现内网全访问(多级路由)

前 这个是之前自己部署的网络方案,结果因为自己升级libgd。一些关键函数没了导致系统崩溃。又是一阵折腾。 这里把一些关键配置给记录一下。主要是 zerotier 的内网路由的配置。这里有些技巧 配置正文 先ifconfig 查看zerotier 添加的 VPN 网卡信息 ztb****** Link encap:Ethernet HWaddr 76:22:11:33:C5:30 inet addr:192.168.191.** Bcast:192.168.191.255 Mask:255.255.255.0 inet6 addr: fe80::7445:95ff:fea7:c530/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:2800 Metric:1 RX packets:23475 errors:0 dropped:0 overruns:0 frame:0 TX packets:25046 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3610614 (3.4 MiB) TX bytes:18392426 (17.5 MiB) 在网络接口中创建一个静态IP,其IP地址和该接口的ip一致。 运行时间: 3d 12h 2m 27s MAC 地址: 4E:22:18:1A:88:FD 接收: 5.83 MB (44539 数据包) 发送: 29.95 MB (45752 数据包) IPv4: 192....

八月 5, 2022 · 1 分钟 · r4y

APC UPS通过NUT转换网络UPS

前 为了群晖的磁盘安全,减少断电等情况导致的硬盘损坏。购入了施耐德的UPS,型号是BK650M2。先前一直是连接在群晖的USB口来进行UPS的数据读取,以及获取状态等。但是因为UPS是给整个机箱供电的,里面还有其他几个设备。所以感觉单单接在群晖上面不合适。 另外最近全屋也接入了HomeAssistant。UPS 本身有Load 和 Max power的参数。负载百分比*最大功率 就能得出我们目前的实时功耗。很方便。 所以就研究了下在Openwrt 中通过NUT(Network UPS Tools)来把我么的UPS 数据转为网络UPS 配置 Openwrt 安装需要的驱动以及应用。 opkg install nut nut-common nut-driver-usbhid-ups nut-server nut-upsc 之后进行配置文件的编辑 /etc/config/nut_server,添加UPS的支持 config driver 'apc' # APC BK650 is compatible with the usbhid driver option driver usbhid-ups # auto detect USB port option port auto config listen_address option address 0.0.0.0 config upsd upsd 之后重启upsd服务 /etc/init.d/nut-server reload 查看UPS信息,可以看到UPS 的USB设备了 root@OpenWrt:~# lsusb Bus 001 Device 026: ID 051d:0002 American Power Conversion Back-UPS BK650M2-CH FW:294803G -292803G Bus 002 Device 001: ID 1d6b:0003 Linux 5....

八月 4, 2022 · 2 分钟 · r4y

Cloudflare tunnel内网穿透(FREE)

前 自古CF出好物,在使用了CF免费的 mail proxy 非常爽的时候,新产品又免费了。 Cloudflare 出品的一个反向代理的产品 Cloudflare Tunnel。大厂品质值得信耐。 (实际上是因为自己的blog 是走CF代理到HK再转发进来的性能上实在不咋地) 操作指南 在CF 的面板点开 Traffic->Cloudflare Tunnel,进入Cloudflare Zero Trust。再打开Access -> Tunnels。 create Tunnels,任意命名。之后选择缓环境,这里有Docker是最好的,统一统一。 在主机运行起来之后,就创建publicname 的访问子域名,service 填写内网的可达IP。 保存之后,就OK了,无痛配置 后 CF好物真真多,免费真良心。(其实免费用户是CF 的很重要的一部分,因为实际上是新服务和新发布的测试对象)

八月 1, 2022 · 1 分钟 · r4y