又一個鬼話連篇的部落格

  • 台灣阿宅 🤓、肉感大叔 🫃、榮譽果粉 🌟
  • 日旅中毒 ☠️、歐美戲劇 🍿、遊戲苦手 🎮
  • 自由工作 👨‍💻、享受生活 🛣、樂愛美食 🍽
  • 常駐台北 🇹🇼 ……more about me

PTT 每日簽到 - n8n docker 版

​ 忘記在哪邊看到有人問,有沒有 PTT 每日簽到(登入)的 n8n 版? 於是就花了一點時間,讓 AI 寫了一段可以在 n8n JavaScript code node 跑起來的程式碼 但因為需要引入額外的庫,所以需要在 docker compose 還有設定上做一些小變動 😆 首先根據上一篇的 n8n v2 docker compose 為基礎,改為以下: services: n8n: image: n8nio/n8n container_name: n8n restart: always ports: - "5678:5678" # Web UI 端口 volumes: - n8n-data:/home/node/.n8n depends_on: n8n-redis: condition: service_healthy environment: # --- 基本設定 & 時區 --- - GENERIC_TIMEZONE=Asia/Taipei - TZ=Asia/Taipei # --- 資料庫維護 (SQLite) --- - DB_SQLITE_VACUUM_ON_STARTUP=true # 啟動時清理資料庫,用於防止 SQLite 資料庫過大導致效能下降 - DB_SQLITE_POOL_SIZE=1 # 啟用 SQLite WAL 模式效能較高較可靠 - EXECUTIONS_DATA_PRUNE=true - EXECUTIONS_DATA_MAX_AGE=168 # 保留 168 小時內的執行紀錄,視需求可上下調整 - EXECUTIONS_DATA_PRUNE_MAX_COUNT=5000 # 最多保留 5000 筆紀錄,視需求可上下調整 # --- 網路與安全 (反向代理設定) --- # 開啟後,必須透過 HTTPS 存取,否則無法登入,內網 HTTP 使用就設定為 false - N8N_SECURE_COOKIE=true - WEBHOOK_URL=https://n8n.example.com/ # 根據自己網域修改,內網無網域這行可以換成內網 IP - N8N_PROXY_HOPS=1 # 告訴 n8n 前面有一層 Proxy (如 Nginx/Caddy),如內網使用這行可以刪除 - N8N_TRUSTED_PROXIES=0.0.0.0/0 # 信任所有來源的 Proxy 標頭,如內網使用這行可以刪除 # --- 權限與安全性 --- - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true - N8N_GIT_NODE_DISABLE_BARE_REPOS=true - N8N_BLOCK_ENV_ACCESS_IN_NODE=false # false 代表允許 Node 節點讀取環境變數 # --- Task Runners 設定 --- # 這是主節點設定,負責派發任務給 task-runners - N8N_RUNNERS_ENABLED=true - N8N_RUNNERS_MODE=external # 使用外部 Runner 模式 - N8N_RUNNERS_BROKER_LISTEN_ADDRESS=0.0.0.0 # 監聽來自 Docker 內網的連線 - N8N_RUNNERS_AUTH_TOKEN=Your1-awEsome-P0ssWorD # 請務必更改為強密碼 - N8N_NATIVE_PYTHON_RUNNER=true # 啟用 Python 支援 task-runners: image: n8nio/runners # 如有指定版號,runners 版本需與 n8n 本體對齊 container_name: n8n-runners restart: always depends_on: - n8n environment: # --- Task Runners 設定 (Worker 端) --- # 設定主節點的連線位置 (Docker 內部通訊) - N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679 - N8N_RUNNERS_AUTH_TOKEN=Your1-awEsome-P0ssWorD # 需與上方 n8n 主節點內的一致 - N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT=0 # 設定為 0 可避免冷啟動延遲 # 以下為新增的部分,將 runner-javascript 安裝的 modules 儲存下來,避免每次 pull 都要重新安裝 volumes: - ./n8n-task-runners.json:/etc/n8n-task-runners.json:ro - runners-js-node-modules:/opt/runners/task-runner-javascript/node_modules # 啟動後檢查本文章 PTT AutoCheckin JS 所需的庫在不在,不在的話就安裝 entrypoint: - /bin/sh - -lc - | cd /opt/runners/task-runner-javascript if [ ! -d node_modules/ssh2 ] || [ ! -d node_modules/iconv-lite ]; then pnpm add ssh2 iconv-lite fi exec /usr/local/bin/task-runner-launcher javascript redis: image: redis:alpine container_name: n8n-redis restart: always healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 volumes: - n8n-redis-data:/data volumes: n8n-data: n8n-redis-data: runners-js-node-modules: 主要是在 task-runners 做了一些之後 JS 執行環境的準備 ...

January 13, 2026 · 8 min · jkgtw

n8n 2.0 Self-host 實戰:Docker + Task Runners + Caddy 的完整設定筆記

​ 最近 n8n 正式推出 v2.0 大版本更新 🚀,這次更新在安全性、穩定性與整體效能上都有明顯提升 同時前端 Web UI 的 Canvas 介面也有一定幅度的視覺與互動變化 如果你想了解完整的官方更新細節,建議直接閱讀 n8n 官方 Blog 👉 Introducing n8n 2.0 ​ n8n Self‑host n8n 2.0 釋出時,官方依然維持 Self‑host 的彈性,這點對技術使用者來說非常重要 👍 官方也同步持續更新 Docker Image,讓升級流程相對平滑 這篇文章會分享我在升級到 n8n 2.0 之後,實際使用的: Docker Compose 架構 Task Runners 新架構設定 Redis 搭配使用方式 Caddy Server 反向代理與 HTTPS 設定 整體目標是:穩定、好維護、安全、設定不複雜 ​ Docker Compose 架構說明 本次的 Docker Compose 主要包含三個核心服務: n8n(主節點): 負責 Web UI、Webhook 接收、Workflow 管理 task‑runners(Worker 節點): 專門負責執行實際的 workflow 任務 Redis: 作為狀態儲存與跨 workflow / node 的輕量資料存取 這樣的拆分方式,是 n8n 近期引入的新一代執行架構 ...

December 23, 2025 · 3 min · jkgtw

PTT Monitor 新文章通知 - n8n 模版

​ 之前有位 PTT 網友開發的 PTT Alertor 服務蠻好用的,但是前幾年機器人突然掛了,原作者可能比較忙沒繼續維護就不能用了 所幸原作者有將整個服務開源,所以又有熱心的網友搭了另外的 PTT 新文章通知服務 同樣也是無償的服務所以也留了個但書,也就是不能保證服務能持續多久 我之前也有用 n8n 的 RSS Trigger 來訂閱新文章通知,但透過 RSS 的訂閱只能監測到標題與作者 ID 還缺少跟 PTT Alertor 一樣可以追蹤推文數的功能 🫣 ​ 只有監測標題的話,在特定版面特定功能還能使用,例如在遊戲版出現「限免」時就馬上發通知是沒有問題的 但在像是省錢版或者信用卡版,有時文章只是詢問或者沒有達到一定討論度跟推文次數,馬上發通知就太早了 有時會想看看其他網友在底下的留言與推薦達到一定數量之後再發通知,這時候推文數的監測也就很有用了 於是也就萌生自己用 n8n 也搭一個有類似功能的 PTT 新文章通知服務給自己用,另外在台灣蘋果同好群與日本旅遊群都有導入 目前已經正常穩定服役一段時間,也有不少群友在詢問,所以就整理一下,讓大家都能用 n8n 輕鬆搭一套自己的 PTT Monitor 服務 😁 ​ PTT Monitor 有利用到 redis 來紀錄已發送過通知的網址,所以如果你是參考我之前一篇關於 n8n 來搭建的話 我們要改一下之前 docker compose 檔案,加個幾行把 redis 服務跟著 n8n 一起啟動 services: n8n: image: n8nio/n8n container_name: n8n restart: unless-stopped environment: - EXECUTIONS_DATA_PRUNE=true - EXECUTIONS_DATA_MAX_AGE=168 - EXECUTIONS_DATA_PRUNE_MAX_COUNT=5000 - GENERIC_TIMEZONE=Asia/Taipei - TZ=Asia/Taipei ports: - 5678:5678 volumes: - n8n-data:/home/node/.n8n depends_on: - redis redis: image: redis:alpine container_name: redis restart: unless-stopped volumes: - redis-data:/data volumes: n8n-data: redis-data: ​ ...

August 23, 2025 · 1 min · jkgtw

各家 AI 模型一次玩 - 1min AI 終身訂閱

​ 最近幾年真的是各種 AI 大亂鬥,各家的 AI 模型如沐春雨不斷推出,而且競爭也是相當激烈 🦾 針對不同任務各家也有不同特化模型跟專長,所以如果你要每家都去訂閱的話,每月的帳單也是會有一筆不小的數字 今天要推薦的是一家集合各家 AI 模型都能使用的平台「1min AI」,就算沒有付費但只要註冊並且每天登入就能獲得一些使用點數 1min AI 每種模型所需的點數都不相同,有的便宜有的新出的大模型可能會比較貴 ​ 👆 內建的模型很多,$$ 數量代表所需的點數多寡 ​ 有興趣的人可以透過下面我的 1min AI 推薦連結去註冊,你跟我都能獲得一些免費點數 ☺️ https://1min.ai?referrer_id=71d31dd3-bf2b-41d9-88f7-7d92655c5caf ​ 不過其實這種類似的平台也是蠻多的,為什麼特別挑 1min AI 呢? 主要是目前他們在 StackSocial 有在賣終身方案,以 Pro 方案來舉例,購買終身方案後,系統每個月都會給你 100 萬點給你使用 更棒的是就算你當月沒用完,這些點數並不會清零,點數會一直累積存在你的帳戶裡面!🥰 如果你使用量比較大,也可以選擇 Business 或者最高的 Advanced Business 方案,主要差別就是每個月給你的點數不同 像是 Advanced Business 每月會給你 400 萬點數,也是每月不會清零的,如果你是重度 AI 使用者,可以直接考慮最高階的方案 另外在 StackSocial 購買時候,可以在網路上找找看優惠碼,有時候會有 10% ~ 30% 左右的優惠碼 如果你沒在 StackSocial 買過東西,可以透過我的邀請連結購買,你跟我都能拿到免費點數,可以給下次購物使用 😄 ​ 1min AI 跟其他綜合 AI 平台一樣,在網站上面有列出一些常用的功能,幫助使用者快速上手找到自己想要的功能 ​ 在 Multi AI Chat 這邊可以同時選擇多個模型,同一個問題一次同時問多個模型 ​ 想要 AI 畫圖這邊也有圖像生成器可以使用,內建多個常用的大模型,並且設定參數即可生成出你要的圖片 ...

July 2, 2025 · 1 min · jkgtw

自架 n8n 自動化服務 - 訂閱 PTT 討論版關鍵字

​ 幾年前有介紹過一款類似 IFTTT 的自動化服務 n8n,經過這幾年的進化成長,n8n 內建的 node 越來越多且也越來越好用了!🌟 而 n8n 最近幾年也開始大力宣傳他們的雲端架設服務,最基本同時可啟用 5 個 workflows 的方案每月要 20 美金 所幸的是他們提供的自架版本還是存在著,自己搭一套 Docker 版的 n8n 只需要短短幾分鐘就能搞定,硬體門檻也不高 我自己有跑在一台樹莓派 4(4GB RAM)的設備上也是很順的跑起來,所以免費甲骨文或者 GCP 最低配置的虛擬機更不用說也都沒問題 下面就來快速在樹莓派裡面安裝一套 n8n,同樣適用於 Ubuntu / Debian 系統 ​ 安裝 Docker 環境 最簡單就是直接用官方的安裝腳本直接安裝,要注意的是執行腳本需要 sudo 或者 root 權限 $ sudo apt update $ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh ./get-docker.sh 等待腳本跑完安裝完畢,接著設定一下權限 $ sudo usermod -aG docker $USER 接著重新登入一次 ssh 即可完成 Docker 執行環境的安裝,然後我們最後安裝 Docker compose $ sudo apt-get install docker-compose-plugin 以上就完成 Docker 執行的基本環境 ...

January 13, 2025 · 2 min · jkgtw