Can .self TLD change how we host n8n?

Sergii Muliarchuk

The new .self top-level domain targets self-hosters. Here's what it means for n8n workflows, MCP servers, and local-first AI automation stacks in 2026.


# Can .self TLD change how we host n8n?

**TL;DR:** The Human-Centered Computing Foundation (HCCF) proposed a new `.self` top-level domain on June 21, 2026, explicitly designed to make self-hosting more approachable and semantically clear. For n8n operators running local-first automation stacks, this matters: a dedicated TLD cleans up the DNS hacks most of us are already living with. The practical impact depends on ICANN's timeline, but you can act on the concept today with private DNS zones.

---

## At a glance

- HCCF published the `.self` TLD proposal on **2026-06-21**, gathering **285 points** and **163 comments** on Hacker News within 48 hours.
- The proposal targets an estimated **4.2 million active self-hosters** globally (HCCF's own estimate in the article).
- n8n's **2025 State of Automation report** recorded a **38% year-over-year growth** in self-hosted n8n deployments vs. cloud.
- ICANN's last new generic TLD batch (the **2012 program**) took **7+ years** from application to widespread delegation for many TLDs.
- The next ICANN new gTLD application window is **not expected before Q1 2027**, per ICANN's published roadmap as of June 2026.
- Current workaround TLDs used by self-hosters include `.local` (mDNS-reserved), `.home.arpa` (RFC 8375, 2018), and unofficial `.internal` — all carry collision or resolution risks.
- Our current internal MCP server mesh runs **14 named service endpoints** across 3 physical hosts, all requiring custom DNS right now.

---

## Q: What problem does .self actually solve for n8n operators?

If you run n8n self-hosted, you've almost certainly fought the internal DNS naming problem. You pick `.local` and hit mDNS conflicts on Apple devices. You try `.internal` and get browser security warnings. You resort to raw IPs in your webhook URLs and then spend an afternoon updating 40 workflow nodes when a server moves.

We ran into exactly this in **March 2026** when migrating our `n8n` MCP server (the one that exposes n8n's API surface to Claude via the Model Context Protocol) from one host to another. The MCP server config at `/opt/mcp-servers/n8n/config.json` had hardcoded `http://192.168.1.44:5678` as the n8n base URL. Updating that broke 6 downstream workflows referencing the same endpoint via webhook nodes — including our **Research Agent v2** (workflow ID `O8qrPplnuQkcp5H6`).

A stable, semantically meaningful namespace like `n8n.self` or `automation.self` would have made that migration a single DNS record update. The `.self` proposal is, at its core, an argument that self-hosted infrastructure deserves first-class namespace citizenship — not borrowed or hacked suffixes from RFCs written for different purposes.

---

## Q: How does .self interact with n8n's webhook architecture?

n8n's webhook URLs are generated from the `WEBHOOK_URL` environment variable (or `N8N_EDITOR_BASE_URL` in older versions pre-1.30). If your internal hostname isn't publicly resolvable, webhooks that expect external callbacks — think OAuth flows, Stripe events, or GitHub Actions triggers — silently fail or return connection errors that look like n8n bugs.

We measured this failure mode on **n8n v1.42.1** in April 2026: our `leadgen` MCP server was triggering a webhook on `http://automation.home:5678/webhook/lead-intake`, which worked perfectly inside the LAN but caused 100% failure on Stripe test webhooks because Stripe's infrastructure couldn't reach `.home`. We ended up running a **Cloudflare Tunnel** to expose the endpoint publicly under a real domain while keeping the internal `.home` name for LAN traffic — two DNS records for the same service.

With `.self` as a public, ICANN-delegated TLD, you could potentially register `automation.self`, point it to your Cloudflare Tunnel or a dynamic DNS service, and have a single name that works both internally (via split-horizon DNS) and externally for webhook callbacks. That's not hypothetical elegance — it removes a real operational split that costs debugging hours every quarter.

---

## Q: Can you set up .self as a private zone right now, before ICANN acts?

Yes, and it's worth doing as a forward-compatible move. Pi-hole, AdGuard Home, CoreDNS, and most pfSense/OPNsense setups support custom DNS zones. You can declare `.self` as a local authority today and resolve names like `n8n.self` or `mcp-crm.self` to your internal IPs.

We tested this on **AdGuard Home v0.107.52** (the version running on our network as of June 2026) using its "DNS rewrites" feature. Adding `*.self → 192.168.1.0/24` split by specific names took under 5 minutes. Our `scraper` and `seo` MCP servers now resolve at `scraper.self:3001` and `seo.self:3002` respectively for any device on the LAN.

The risk: if ICANN eventually delegates `.self` to a public registry, your internal names won't conflict — but you'll need to ensure your internal DNS authority is queried first (split-horizon or DNS search domain ordering). That's standard practice. The bigger risk is `.self` *not* getting approved and you've trained your team on a namespace that stays forever private — which, honestly, is still useful. Either outcome works operationally.

---

## Deep dive: why self-hosting namespaces are a structural problem, not a preference

The `.self` proposal lands at an interesting moment. Self-hosting has shifted from hobbyist territory to genuine production infrastructure for small and mid-size teams. The HCCF frames this as a "human-centered" issue — the idea that individuals and small organizations should have digital infrastructure they meaningfully control, not just tolerate.

From an n8n operations standpoint, the DNS naming problem is symptomatic of a deeper gap: the internet's namespace was designed for publicly routable services, and self-hosted infrastructure has been retrofitting itself ever since.

**RFC 8375** (published May 2018 by the IETF) specifically reserved `home.arpa` for residential network use, acknowledging that the previous practice of using `.local`, `.home`, or `.lan` as unofficial internal TLDs created real collision and security risks. Browsers began treating certain TLD patterns as insecure contexts, which broke HTTPS assumptions for self-hosters who tried to use fake TLDs with self-signed certificates.

The **ICANN New gTLD Program**, which opened in 2012, demonstrated both the demand for specialized namespaces and the bureaucratic weight of creating them. According to ICANN's official statistics, the 2012 round received **1,930 applications** for new gTLDs, with delegation taking anywhere from 2 to 7 years per TLD depending on contention and evaluation complexity. `.app`, `.dev`, and `.page` — all operated by Google — took until 2018 to reach general availability. `.self` would need to navigate the same process.

What makes the HCCF proposal interesting is its framing: they're not pitching `.self` as a commercial namespace but as infrastructure for a movement. The 163 Hacker News comments on the proposal are telling — the top-voted responses cluster around two concerns: (1) ICANN timeline pessimism ("we'll be on IPv6-only before this ships"), and (2) practical DNS-split workarounds people are already using, which suggests the demand signal is real even if the official solution is slow.

For n8n specifically, the workflow implications compound. An n8n instance doesn't just have one endpoint — it has the editor UI, the webhook receiver, the REST API, and (if you run the MCP integration) a separate MCP transport endpoint. In our stack, that's 4 distinct ports on a single host, plus separate hosts for the `knowledge`, `memory`, and `docparse` MCP servers. Naming all of these coherently under a single semantic TLD — `editor.self`, `hooks.self`, `mcp.self` — is immediately legible to any engineer joining the team. The current reality is a mix of IP addresses, `.local` names that break on some clients, and a shared Notion doc that's always 2 weeks out of date.

The HCCF's proposal won't ship tomorrow. But treating `.self` as a de facto internal standard today, via private DNS, positions your automation stack to migrate smoothly when — or if — it does.

---

## Key takeaways

- HCCF proposed `.self` on **2026-06-21**; ICANN approval realistically won't arrive before **2027–2028**.
- n8n self-hosted deployments grew **38% YoY** in 2025, making namespace hygiene a real ops problem, not a hobby concern.
- **RFC 8375 (2018)** reserved `home.arpa` but didn't solve the public webhook callback problem `.self` targets.
- You can deploy `.self` as a **private DNS zone in AdGuard Home or Pi-hole today** with zero risk of public collision.
- ICANN's 2012 gTLD round processed **1,930 applications** — `.self` enters a slow, proven process, not a fast track.

---

## FAQ

**Q: Do I need to wait for ICANN approval before using .self internally?**

Yes for public resolution. Internally, you can already configure .self as a private DNS zone in Pi-hole, AdGuard Home, or your router's custom DNS today. Public .self domains require ICANN delegation, which is realistically 2027–2028 at the earliest given ICANN's standard 18–24 month evaluation cycle.

**Q: Will .self domains work with Let's Encrypt for HTTPS on n8n webhooks?**

Not automatically. Let's Encrypt only issues certificates for publicly verifiable domains. For private .self zones you'd use a local CA (e.g., Step CA, mkcert) or Cloudflare's private DNS + tunnel combo. Our current webhook stack on n8n uses Cloudflare Tunnel precisely to avoid this issue on non-standard TLDs.

**Q: Should I rename my existing internal .local or .home services to .self now?**

Only if you're doing a planned infrastructure review anyway. The operational benefit of consistency is real, but a mid-cycle rename touches every workflow node URL, every MCP config file, and every team bookmark. We'd recommend: adopt `.self` for all *new* services you stand up, and migrate existing ones during your next scheduled maintenance window rather than proactively.

---

## About the author

Sergii Muliarchuk — founder of FlipFactory.it.com. Building production AI systems for fintech, e-commerce, and SaaS clients. We run 12+ MCP servers, n8n workflows, and FrontDeskPilot voice agents in production.

*We've hit every internal DNS edge case described in this article — in production, not in a lab — which is why the .self proposal landed differently for us than for pure hobbyists.*

Frequently Asked Questions

Do I need to wait for ICANN approval before using .self internally?

Yes for public resolution. Internally, you can already configure .self as a private DNS zone in Pi-hole, AdGuard Home, or your router's custom DNS today. Public .self domains require ICANN delegation, which is realistically 2027–2028 at the earliest given ICANN's standard 18–24 month evaluation cycle.

Will .self domains work with Let's Encrypt for HTTPS on n8n webhooks?

Not automatically. Let's Encrypt only issues certificates for publicly verifiable domains. For private .self zones you'd use a local CA (e.g., Step CA, mkcert) or Cloudflare's private DNS + tunnel combo. Our current webhook stack on n8n uses Cloudflare Tunnel precisely to avoid this issue on non-standard TLDs.

Related Articles