Skip to content

Ring DNS

ring.nekotopia.io is the platform-infrastructure DNS zone. Operator-owned, fixed list of hostnames, not editable by members. Use this page as a reference for what's already in there.

Where it lives

Section ID: ring-dns-section. Records here are hardcoded in app/ring-dns-manager.js. If you want to publish your own hostname, use DNS manager — your records live in edge / dist / core, not in ring.

What ring is for

A short, stable namespace for the parts of Nekotopia infrastructure that we run and every member should be able to reach by name. The contents change rarely; the zone exists so members don't have to remember IPs like 10.255.9.241 to hit the wiki.

How resolution works

ring.nekotopia.io is served by the ring-dns container (a dnsmasq instance) on the docker host (10.255.9.241). It's only resolvable from Torus — your Torus config points your WG interface's DNS at 10.255.9.241 so the zone is available to any device with the tunnel up.

There's no entry for ring.nekotopia.io in public DNS. Reaching the zone requires Torus access.

Your device → Torus tunnel up
            → DNS lookup `wiki.ring.nekotopia.io`
            → goes to 10.255.9.241 (your config's DNS setting)
            → ring-dns container responds with A 10.255.9.241
            → your browser hits 10.255.9.241 via Torus
            → traffic emerges in the docker host's network
            → nginx vhost matches `wiki.ring.nekotopia.io` and serves the wiki

What's in there

Hostname Points to Purpose
app.ring.nekotopia.io 10.255.9.11 The prod web app — alternative to nekotopia.io over the mesh
docker.ring.nekotopia.io 10.255.9.241 The docker host (this server)
proxy.ring.nekotopia.io 10.255.9.33 The HTTP reverse proxy
gateway.ring.nekotopia.io 10.254.100.1 London hub mesh gateway
jump.ring.nekotopia.io 10.255.137.222 Jump host for ops
wiki.ring.nekotopia.io 10.255.9.241 This wiki you're reading
wrp.ring.nekotopia.io 10.255.9.241 WRP — vintage-browser-friendly web rendering proxy
browse.ring.nekotopia.io 10.255.9.241 The browservice noscript wrapper
necho.ring.nekotopia.io / echo.ring.nekotopia.io 10.255.137.222 Necho (richard-cloud renamed)
lg.ring.nekotopia.io 10.255.9.241 Looking glass

These records live in app/ring-dns-manager.js (hardcoded in the generator) and survive every DNS sync.

"I want to add my own ring hostname"

You can't — ring is platform-only. As of 2026-05-22 the /api/ring/hostnames write endpoints return HTTP 410.

Your mesh hostname at <username>.edge.nekotopia.io is auto-managed by the platform (created on VPN provision, deleted on account termination) — also not editable. It just exists.

For everything else, see DNS manager: - Custom forward hostnames + PTR override on your nSolo IP (Plus + Pro) live in *.dist.nekotopia.io - Custom forward hostnames + PTR override on your nColo prefix (Pro) live in *.core.nekotopia.io

The dnsmasq serving *.ring and *.edge is the same container, so the resolution path is identical from the member's point of view.

What's not in ring

Public services live in the regular nekotopia.io zone (handled by Route 53). The zones are separate:

  • nekotopia.io apex — public, anyone on the internet can resolve
  • ring.nekotopia.io — private, only Torus members
  • edge.nekotopia.io — private, only Torus members (member-owned records)
  • dist.nekotopia.io / core.nekotopia.io — public Route53 (member-owned records pointing at nSolo / nColo)

*.ring records don't appear in dig from outside Torus.