Even a Code-Illiterate Built It! Home Server Journey (7) — Making the Server Work on Its Own with n8n

In the previous six episodes, I set up photo backup (Immich), an AI assistant (OpenClaw), local AI (Ollama), and a blog (WordPress) on my home server. Each service runs great on its own. But managing them all by hand? Honestly, it gets old fast.

“I just want to set it up once and have it run itself.”

That’s why I installed n8n. After setting up a few workflows, my server now works on its own. All I do is check Telegram notifications.

IT, 간판, 개념의 무료 스톡 사진
Photo by RealToughCandy.com / Pexels

What is n8n? One-Line Summary: Free Zapier

n8n (pronounced “n-eight-n”) is a visual automation tool. If you’ve used Zapier or Make (formerly Integromat), it’s exactly that. Drag blocks onto a canvas, connect them with lines, and your automation is done. Code? Not a single line needed.

The one difference: it runs on your own server. That means it’s free, there are no execution limits, and your data never leaves your machine.

Zapier n8n (Self-hosted)
Price From $19.99/month Free
Execution limit 100-750/month Unlimited
Your data Stored on Zapier’s servers Stays on your server
Integrations 7,000+ 400+ (all major services covered)
UI Very easy Easy (slight learning curve)

If you already have a home server, there’s no reason not to use n8n. Especially if you’ve ever hit Zapier’s free tier limit of 100 executions per month.

Installing n8n: One Docker Compose File

Remember how we set up Docker in Episode 1? We just add n8n on top of that.

services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    volumes:
      - ./data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=yourpassword
    restart: unless-stopped

Tell Claude “install n8n” and it creates this file and runs docker compose up -d for you. Navigate to http://yourServerIP:5678 and you’ll see this:

CSS, HTML, IT의 무료 스톡 사진
Photo by Godfrey Atima / Pexels

At first glance it might look intimidating. But give it five minutes. You drag nodes (blocks) from the left panel onto the canvas and connect them with lines. It’s like building with LEGO.

Real Workflow #1 — Auto-Sync Dev Logs to Notion

I’m building an app called PRSM. (A non-coder building an app? Yep, I just tell AI what to do. That’s a story for another post.) Every day I write development progress in a file on GitHub. I wanted those logs copied to Notion automatically.

Doing it manually:

  1. Open GitHub
  2. Find today’s log file
  3. Copy the content
  4. Open Notion
  5. Paste into the Day Log page
  6. Add a date tag

Five minutes a day. Doesn’t sound like much, but that’s two and a half hours a month. And honestly, I forget to do it most days.

After automating with n8n:

Every night at 11 PM → Read file from GitHub → Auto-add to Notion Day Log

Three nodes. Set it up once, and it runs every night by itself. What I have to do: nothing. When I open Notion in the morning, last night’s log is neatly organized and waiting for me.

Real Workflow #2 — Auto-Monitor Blog Google Indexing

No matter how good your blog post is, if Google hasn’t indexed it, nobody can find it through search. This is especially brutal for new blogs — it’s common for posts to go unindexed for days after publishing.

Checking manually? You’d have to log into Google Search Console and inspect each URL one by one. Ten posts means ten checks.

n8n handles it:

Every 12 hours → Get list of published post URLs → Check Google indexing status → Unindexed post found? → Send Telegram alert

“Hey boss, episodes 3 and 5 still aren’t indexed on Google!” — I get alerts like this on Telegram. Then I just click “Request Indexing” in Search Console. Done.

Real Workflow #3 — Instant Alert When Server Goes Down

When you’re running multiple services on a home server, one of them can quietly die without you noticing. Once, Immich crashed after an update and I didn’t realize for over a day. That was a full day of photos not being backed up.

So I built this workflow:

Periodic check → Ping Immich → Ping OpenClaw → Ping WordPress → Any service down? → Send Telegram alert

Now when a service goes down, I get notified within minutes. After setting up this workflow, Immich actually crashed again. This time I caught it in 10 minutes and fixed it immediately. Because n8n is watching 24/7.

Real Workflow #4 — Morning Briefing Data Prep

Remember the morning briefing from Episode 5? My AI assistant sends me weather, news, gold prices, and my schedule via Telegram every morning at 7 AM.

To create that briefing, the AI needs data. Calling weather APIs, fetching exchange rates, checking the calendar — n8n handles all this data collection automatically at 6:50 AM every morning. At 7 AM, the AI picks up the data, summarizes it, and shoots it to Telegram.

My morning routine: Wake up, open Telegram, check today’s weather and news. That’s it.

Before and After Automation

Task Before After
Dev log Notion sync 5 min/day, often forgot Automatic (0 min)
Blog index check Manual search, too lazy so never did it Auto every 12h, just check alerts
Server status check Only knew when something broke Instant alert on failure
Morning briefing Manually search news Just check Telegram

Saving time is great, but the real benefit is peace of mind. “Is the server okay?”, “Did that post get indexed?”, “Did I sync the logs?” — I don’t worry about any of this anymore. n8n is watching over everything.

n8n Self-Hosting Cost Breakdown

Let’s crunch the numbers.

Item Using Zapier n8n Self-hosted
Monthly subscription $19.99 $0
Annual cost ~$240 $0
Extra electricity None Negligible (server already runs 24/7)

n8n is lightweight and barely uses any server resources. Compared to Immich or Ollama, it’s practically invisible. Since the server is already running around the clock, the additional electricity cost is effectively zero.

Tips for Beginners

It’s all great, but let me be honest about a few things to watch out for.

  • Name your workflows clearly. If you leave them as “My Workflow 1” and “New Workflow,” you won’t know what’s what once you have more than ten. Use specific names like “PRSM to Notion Sync” or “Server Health Check.”
  • Always add error notification nodes. When an API is temporarily down or a service changes, your workflow will fail silently. Connect a Telegram notification node at the end to catch errors — you’ll sleep better at night.
  • Block external access. n8n stores sensitive information like Notion tokens and GitHub tokens. Make sure to block external access with a firewall. I locked everything down with iptables back in Episode 1.

What’s Next

Now that the server runs itself with automation, it’s time to build features that are directly useful for real work.

In the next episode:

  • Auto-transcribe phone calls — hang up and the text is ready
  • AI-generated meeting notes — Google Meet and Zoom meetings summarized by AI
  • Whisper — OpenAI’s speech recognition AI, running free on your own server
  • How a single phone call becomes a work record in a manufacturing environment

A non-coder who built an AI assistant, now building an AI transcriber. Stay tuned.

This post was written by AI (Claude Code) and reviewed by a code-illiterate human.

Even a Code-Illiterate Built It! Home Server Journey (5) — OpenClaw: One Week Honest Review

선명한 노란색 배경에 골드 인증을 받은 고효율 850W 전원 공급 장치입니다.

OpenClaw Is Trending. So I Tried It.

AI agents are having a moment. Among them, an open-source AI agent framework called OpenClaw has been making waves in developer communities. “Run an AI secretary on your own server,” “command anything via Telegram” — that’s the pitch.

So I tried it. Installed OpenClaw on the home server from Episode 1, connected it to a Telegram bot, and used it for about a week.

The verdict?

“Revolutionary? No. But a few things are genuinely useful.”

# 실내, 기술, 기술 액세서리의 무료 스톡 사진
Photo by Mateusz Haberny / Pexels

What Is OpenClaw, Briefly

OpenClaw is an open-source AI agent platform. Install it on your server, and AI doesn’t just chat — it actually executes tasks. It reads files, calls external APIs, and runs jobs automatically on a schedule. The biggest difference from ChatGPT is this “agency” — the ability to act, not just answer.

It integrates with messengers like Telegram and Slack, and you can extend functionality through a plugin system called “skills.” You can freely swap AI models — Gemini, Claude, GPT, local LLMs, whatever you want.

Installation is one Docker command. But the actual skill development and setup… I’ll get to that.

Connecting Telegram — Meet “Jolgae”

After installing OpenClaw, you connect it to a Telegram bot. Create one through BotFather, drop the token into OpenClaw’s config, done. That part’s easy.

The important part is the name. What do you call your AI assistant? After some thought — “Jolgae” (졸개).

Jolgae is a Korean word meaning “underling” or “lackey” — the lowest-ranking errand boy in the Joseon Dynasty military. Someone who just does what they’re told, no questions asked. Think about what an AI agent actually is. It’s fundamentally “a thing that does stuff when you tell it to.” No need for grandiose names like “Jarvis” or “Alexa.” Let’s be honest. It’s a lackey.

“Jolgae, what’s the weather?” “Jolgae, translate this.” — it just feels natural. Not some grand AI assistant, just an errand boy I boss around. Took five seconds to name it, but surprisingly satisfying.

DeepSeek AI 대화 기능이 탑재된 AI 챗봇 인터페이스를 보여주는 스마트폰 화면의 클로즈업.
Photo by Matheus Bertelli / Pexels

Honestly, It Wasn’t Mind-Blowing

My expectations were high. “AI agent” sounds like science fiction. An AI secretary living on my server? Commands via Telegram?

But in practice… it’s not that different from texting ChatGPT. Ask a question, get an answer. Request a search, it searches. There were honest moments of “…is that it?”

The things developers rave about — the skill system architecture, model waterfall switching, API routing — technically elegant, sure. But as a regular user, “so what actually changes in my daily life?” matters more.

Opening the ChatGPT or Gemini app to ask a question versus texting Jolgae on Telegram — the difference isn’t dramatic. At least not at first.

But Then. Things Start Getting Convenient.

A few days in, I noticed something. “Hmm, I’d miss this if it were gone.”

It doesn’t dramatically change your life. But small conveniences stack up, and that stack gets surprisingly tall. Here are the features I found genuinely useful after a week.

1. Morning Briefing — No More Scrolling

Every morning at 7 AM, there’s a Telegram message waiting. Busan weather and air quality, exchange rates and gold prices, industry news I follow, AI tech trends, gaming news. Only topics I care about.

I used to open a news page on my commute and scroll through ads and clickbait until something interesting showed up. Now I don’t have to. AI reads the articles and sends 3-line summaries to Telegram. Two minutes on the subway and I’m caught up for the day.

Would I install OpenClaw just for this? That’s a stretch. But it’s the feature I use daily and enjoy most.

휴대폰에서 텔레그램 앱 사용하기
Photo by Viralyft / Pexels

2. Voice Transcription — This Actually Saves Money

This was the surprise killer feature. Google Meet, Zoom, Teams, Webex — send Jolgae a meeting link and a bot joins the call, records it, and converts everything to text.

Whisper (open-source speech recognition AI) runs on the server and converts speech to text. Jolgae then summarizes the result, separating key points, action items, and decisions. Results auto-save to Notion too. When the meeting ends, the minutes are waiting in Telegram.

Cloud transcription services like Otter.ai run $20-30/month. This setup? $0. Everything processes on my server.

One realistic caveat though. Whisper is hardware-hungry. Running local Whisper on my server (Ryzen 7, 32GB RAM) with CPU only, a 1-hour audio takes over an hour to transcribe. Yes, slower than real-time. You wait as long as the recording — or longer. An NVIDIA GPU with CUDA would make it 5-10x faster, but my server only has an AMD integrated GPU (Radeon 780M). AMD doesn’t support Vulkan acceleration for this, so the GPU just sits there unused. CPU-only it is. You need at least 16GB RAM for the medium-quality model, and 32GB for comfortable large-model usage. On an 8GB machine, it’s practically unusable.

So I also use OpenAI’s Whisper API. Cloud processing makes the speed noticeably better. Still not snappy, but a lot more bearable. Free local vs paid API — pick depending on the situation. I’ll cover this feature in more detail in the next episode.

3. Weekend Outing Planner — My Wife Likes This One

Friday at 6 PM, “Weekend outing recommendations!” arrives on Telegram. It checks weekend weather, picks three seasonal courses near Busan. Each comes with the address, drive time, kid-friendliness rating, parking info, estimated cost, and a rainy-day backup.

Honestly, the recommendation quality isn’t always great. Sometimes it suggests odd places, or recommends spots I’ve already visited. But the time spent wondering “what do we do this weekend?” shrinks. Bad suggestion? Don’t go. Good one? Just go.

Sharing “how about here?” with my wife turns into a conversation starter. That’s way better than staring at each other asking “so… what should we do?”

4. Auto Blog Publishing — 10 Minutes Per Post

This blog itself is proof. Give Jolgae a topic and it handles keyword research, writing, SEO meta tags, stock image insertion, and bilingual KO/EN publishing to WordPress. About 10 minutes per post.

Of course, AI-written content doesn’t go up unedited. There’s always something to fix. AI has never produced a 100% perfect post. But starting from a blank page versus starting from an 80% draft is night and day. I’ll dive deeper into the blog auto-publishing pipeline in the next episode.

cms, 공책, 구성의 무료 스톡 사진
Photo by Pixabay / Pexels

Things That Fell Short

An honest review means covering the downsides too.

  • For general chat, ChatGPT is just better. Faster responses, higher quality answers. Opening the ChatGPT app is often more convenient than texting Jolgae on Telegram.
  • Setting up skills isn’t easy. Officially, “no code needed.” In reality, you end up having AI write code for you. A non-developer adding new skills alone isn’t realistic.
  • It’s dumb sometimes. Misunderstands commands, sends wrong results, or errors out for no apparent reason. “AI agent” absolutely does not mean infallible.
  • Responses can be slow. Simple chat is fast, but tasks involving web search can take 30 seconds to a minute. Frustrating when you’re in a hurry.

ChatGPT vs OpenClaw — Side by Side

ChatGPT / Gemini App OpenClaw (Self-Hosted)
Chat Quality High Moderate (depends on model)
Response Speed Fast Moderate to slow
Scheduled Tasks (Cron) No Yes
Access Server Files No Yes
External API Integration Limited Unlimited
Telegram Integration No Built-in
Data Privacy Cloud-stored Your server only
Extensibility GPTs (limited) Skill system (unlimited)
Setup Difficulty None Docker required
Cost $20+/month API usage only

Bottom line: ChatGPT wins overwhelmingly on chat quality and speed. But if you need automation, scheduled execution, and server integration, OpenClaw can do things ChatGPT simply can’t. Different tools for different jobs.

So, Worth Installing?

OpenClaw is a good fit if you:

  • Already have a home server running Docker
  • Need daily, repetitive information gathering (news briefings, price monitoring)
  • Do frequent voice transcription (this genuinely saves cloud service fees)
  • Want everything unified through one Telegram bot

You can skip it if you:

  • Are happy with ChatGPT Plus or Gemini Advanced subscriptions
  • Don’t have repetitive tasks worth automating
  • Don’t have a server — phone only

It’s not a revolution. But once set up, daily conveniences quietly accumulate. Morning briefings, voice transcription, weekend recommendations — those three alone made the installation worthwhile for me.

가구, 기능성 가구, 기술의 무료 스톡 사진
Photo by Mateusz Haberny / Pexels

Technical Details (For the Curious)

My Jolgae (OpenClaw agent) configuration for reference:

Item Configuration
AI Models Gemini 2.5 Flash (primary) → Claude Haiku → GPT-4.1-mini → Ollama (local backup)
Installed Skills 32 (briefing, transcription, blog, planner, monitoring, etc.)
Automated Tasks 1 daily + 3 weekly + 2 monthly
Interface Telegram bot
Server Beelink SER9 MAX, AMD Ryzen 7, 32GB DDR5
Monthly Cost ~$4 electricity + API usage fees

OpenClaw installation itself is one Docker command. But skill development and detailed configuration? I had AI (Claude Code) do it for me. Honestly, a non-developer doing it alone is tough. But having AI do it for you counts as a valid approach. That’s how things work in 2026.

Currently Installed Skills (32)

Category Skill What It Does
Daily Automation morning-briefing Custom news briefing every morning
weekend-planner Weekend outing course recommendations
weekly-insight International trends weekly digest
Content blog-factory Auto blog writing + publishing
translate-blog Multilingual blog translation
image-gen AI image generation
Work Tools meeting-transcribe Voice file transcription + summary
ocr-bot Extract text from images
gold-briefing Business news briefing
Monitoring rate-monitor Telecom rate change detection
busan-culture Busan culture/experience program watch
power-monitor Server power monitoring
Knowledge Mgmt notion-rag Notion semantic search
local-rag Local file semantic search
second-brain Personal knowledge management
System system-heal Server self-healing
self-evolution Agent self-learning
Lifestyle food-recommend Restaurant recommendations
anniversary Anniversary reminders
Other +13 more n8n integration, decision helper, side hustle explorer, etc.

Of these, only about 5-6 make a noticeable daily difference. The rest are “nice to have.” But those 5-6 showing up in Telegram every morning — that’s the whole point.

Next Episode Preview

The blog auto-publishing I briefly mentioned in this episode — next time, I go deep. How AI publishes a blog post in 10 minutes — from keyword research to bilingual KO/EN publishing, all broken down from a non-developer’s perspective.

EP.6 — AI Writes My Blog? Building an Auto-Publishing Pipeline.