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.ioapex — public, anyone on the internet can resolvering.nekotopia.io— private, only Torus membersedge.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.