<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>N8n on homelab</title>
    <link>https://homelab.nbkelley.com/tags/n8n/</link>
    <description>Recent content in N8n on homelab</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 21 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab.nbkelley.com/tags/n8n/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI-Driven Monitoring Pipeline</title>
      <link>https://homelab.nbkelley.com/docs/monitoring/pipeline/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/monitoring/pipeline/</guid>
      <description>&lt;h1 id=&#34;ai-driven-monitoring-pipeline&#34;&gt;AI-Driven Monitoring Pipeline&lt;a class=&#34;anchor&#34; href=&#34;#ai-driven-monitoring-pipeline&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The monitoring pipeline is fully operational and running hourly. It collects rich structured data from four sources (Prometheus — 7 metrics, Uptime Kuma, UniFi, Synology), runs 4 parallel Ollama summarization calls, synthesises a final status report, and writes everything to Postgres. Hourly snapshots of raw UniFi and Prometheus data are stored in dedicated tables for delta computation. End-to-end runtime is ~13 minutes using &lt;code&gt;gemma4:e4b&lt;/code&gt; CPU-only on the Pavilion — accepted as-is pending Mac Studio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>n8n</title>
      <link>https://homelab.nbkelley.com/docs/services/n8n/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/services/n8n/</guid>
      <description>&lt;h1 id=&#34;n8n&#34;&gt;n8n&lt;a class=&#34;anchor&#34; href=&#34;#n8n&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;n8n is the automation and orchestration hub for the homelab. It runs as an LXC on Proxmox, connected to PostgreSQL for persistent workflow state and execution history. Community edition is sufficient for current use.&lt;/p&gt;&#xA;&lt;h2 id=&#34;deployment&#34;&gt;Deployment&lt;a class=&#34;anchor&#34; href=&#34;#deployment&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Detail&lt;/th&gt;&#xA;          &lt;th&gt;Value&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;LXC host&lt;/td&gt;&#xA;          &lt;td&gt;n8n&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;IP&lt;/td&gt;&#xA;          &lt;td&gt;192.168.1.169&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Port&lt;/td&gt;&#xA;          &lt;td&gt;5678&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;URL&lt;/td&gt;&#xA;          &lt;td&gt;http://192.168.1.169:5678&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Version&lt;/td&gt;&#xA;          &lt;td&gt;2.15.1 (Self Hosted)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Installed via&lt;/td&gt;&#xA;          &lt;td&gt;tteck Proxmox helper scripts&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;OS&lt;/td&gt;&#xA;          &lt;td&gt;Debian 13 (unprivileged LXC)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Config file&lt;/td&gt;&#xA;          &lt;td&gt;/opt/n8n.env&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;configuration-optn8nenv&#34;&gt;Configuration (/opt/n8n.env)&lt;a class=&#34;anchor&#34; href=&#34;#configuration-optn8nenv&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;N8N_SECURE_COOKIE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;N8N_PORT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5678&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;N8N_PROTOCOL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;N8N_HOST&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.169&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_TYPE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;postgresdb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_POSTGRESDB_HOST&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.57&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_POSTGRESDB_PORT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;5432&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_POSTGRESDB_DATABASE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;homelab&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_POSTGRESDB_USER&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;homelab&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DB_POSTGRESDB_PASSWORD&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&amp;lt;password&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After editing: &lt;code&gt;systemctl restart n8n&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Book Discovery Pipeline</title>
      <link>https://homelab.nbkelley.com/docs/projects/book_discovery_pipeline/</link>
      <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/projects/book_discovery_pipeline/</guid>
      <description>&lt;h1 id=&#34;book-discovery-pipeline&#34;&gt;Book Discovery Pipeline&lt;a class=&#34;anchor&#34; href=&#34;#book-discovery-pipeline&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A multi-agent, multi-node pipeline designed to identify high-prestige, upcoming literary works by analyzing critical reviews before they hit the mainstream.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-decisions&#34;&gt;Key Decisions&lt;a class=&#34;anchor&#34; href=&#34;#key-decisions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Architecture:&lt;/strong&gt; Two-tier agent system. Lightweight models (E4B) on the Orchestrator (T480) handle routing/filtering; heavier models (26B) on the Inference node (Pavilion) handle deep analysis.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt; n8n (Orchestration), PostgreSQL (Data Storage), Hugo (Static Site Generation), Python/JS (Custom Logic).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Data Sources:&lt;/strong&gt; RSS feeds (Literary Hub, etc.), Web Scraping (for indie blogs), and Goodreads API/Scraping for popularity comparison.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;current-configuration&#34;&gt;Current Configuration&lt;a class=&#34;anchor&#34; href=&#34;#current-configuration&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;the-pipeline-chain&#34;&gt;The Pipeline Chain&lt;a class=&#34;anchor&#34; href=&#34;#the-pipeline-chain&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ingestion:&lt;/strong&gt; n8n fetches RSS feeds and scrapes blogs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Filtering (E4B):&lt;/strong&gt; Classifies content (Review vs. News). Discards non-reviews.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extraction (26B):&lt;/strong&gt; Extracts title, author, publisher, and critical language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scoring (26B):&lt;/strong&gt; Analyates &amp;ldquo;prestige signals&amp;rdquo; (e.g., phrases like &amp;ldquo;formally ambitious&amp;rdquo;) and compares against Goodreads popularity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Aggregation:&lt;/strong&gt; Aggregates data into PostgreSQL.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Publication:&lt;/strong&gt; n8n generates a Markdown file and commits it to a Hugo repository.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;data-schema-postgresql&#34;&gt;Data Schema (PostgreSQL)&lt;a class=&#34;anchor&#34; href=&#34;#data-schema-postgresql&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;sources&lt;/code&gt;: RSS metadata.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;articles&lt;/code&gt;: Raw ingested content.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;books&lt;/code&gt;: Normalized book records.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;reviews&lt;/code&gt;: Links articles to books + extracted critical language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;prestige_scores&lt;/code&gt;: Historical scoring for trend tracking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;open-questions&#34;&gt;Open Questions&lt;a class=&#34;anchor&#34; href=&#34;#open-questions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How to effectively scrape Substack/paywalled content without high costs.&lt;/li&gt;&#xA;&lt;li&gt;Determining the optimal frequency for the pipeline run (Weekly vs. Bi-weekly).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;related-pages&#34;&gt;Related Pages&lt;a class=&#34;anchor&#34; href=&#34;#related-pages&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://homelab.nbkelley.com/docs/services/open_webui_deployment/&#34;&gt;Open WebUI Deployment&lt;/a&gt;, &lt;a href=&#34;https://homelab.nbkelley.com/docs/services/ollama_config/&#34;&gt;Ollama Configuration&lt;/a&gt;, &lt;a href=&#34;https://homelab.nbkelley.com/docs/monitoring/pipeline/&#34;&gt;AI-Driven Monitoring Pipeline&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
