What is Dotnify?
Dotnify is a self-hosted, unified DNS management platform. It provides a single web interface to manage DNS records across multiple DNS providers — eliminating the need to switch between different provider consoles. Currently, Dotnify supports Cloudflare and Huawei Cloud, with more providers planned for the future.
Why Dotnify?
If you manage domains across multiple DNS providers, you're probably familiar with the friction of constantly switching between different dashboards, each with its own layout, terminology, and workflow. Dotnify solves this by bringing everything — providers, domains, and records — into one consistent interface.
Core Features
Multi-Provider Management
Add multiple accounts from different DNS providers. Each provider is configured independently with its own API credentials and a display name for easy identification. You can add as many Cloudflare and Huawei Cloud accounts as you need — Dotnify aggregates all of them in one place.
Domain Overview
The Domains page aggregates all your managed zones from every configured provider into a single, alphabetically sorted list. Each domain shows its status (active, pending, etc.), the provider it belongs to, and a direct link to manage its records. If any provider fails to load, the error is reported inline without blocking the rest.
Full DNS Record CRUD
Create, edit, and delete DNS records with support for all common record types: A, AAAA, CNAME, TXT, MX, NS, SRV, CAA, PTR, SOA, SPF, and URI. The record editor adapts to the provider — for example, showing a priority field for MX/SRV records, a TTL auto mode for Cloudflare, or the line resolution selector for Huawei Cloud.
Smart Data Fetching
The frontend uses a stale-while-revalidate strategy: cached data is shown instantly when you navigate back to a page, while a fresh copy is fetched in the background. This means snappy navigation without stale data sticking around.
Route Guards
The app uses route guards to enforce the correct flow: unauthenticated users are redirected to login, unsetup instances redirect to setup, and authenticated users skip straight to the dashboard. There's no way to end up on the wrong page.
Architecture
- Frontend — React 18 with React Router v6 (data routers with loaders and guards), Tailwind CSS for styling, and Vite for building. The entire UI is a single-page application with client-side routing.
- Backend — Vercel Serverless Functions (Node.js) under /api/. Each route is a standalone function that handles HTTP requests directly — no Express or framework overhead. Provider-specific logic (Cloudflare API calls, Huawei Cloud AK/SK signing) is abstracted into shared modules.
- Data Storage — Upstash Redis (serverless, REST-based). Three keys store all application state: admin credentials, active sessions, and the provider list. No database setup required.