A next-generation DNS management platform that merges simplicity, security, and performance.
SanchezDNS is crafted for professionals who demand both efficiency and power in DNS management β whether youβre a hosting provider, enterprise admin, or infrastructure engineer.
Manage all zones, records, and users in one elegant interface, powered by real-time PowerDNS integration.
- AESβ256 encryption for sensitive data (API keys, credentials)
- Role-based access control and user session management
- Detailed audit logs for accountability
Seamless communication with the PowerDNS Authoritative Server API β instant zone synchronization and zero downtime updates.
Designed with Nuxt 4 and Nuxt UI 4, ensuring a fast, minimal, and responsive user experience with dark mode support.
Automatically manages:
- Zone propagation and synchronization
- Record updates and statistics collection
- Server status and uptime reporting
Ready for multi-server environments β perfect for distributed networks, ISPs, and enterprise infrastructures.
- Gin (Go) β ultra-fast REST API framework.
- MongoDB β persistent storage for users, zones, and logs.
- PowerDNS Authoritative API β enables real-time DNS management and monitoring.
- Includes: JWT authentication, access control, and audit tracking.
- Nuxt 4 + Nuxt UI 4 β modern Vue 3 ecosystem for fluid UX.
- Intuitive dashboards for zones, users, logs, and server statistics.
- Central control layer for PowerDNS authoritative instances.
- Real-time updates across primary and secondary servers.
- Supports reverse zones, dynamic record types, and DNSSEC-ready setups.
SanchezDNS provides a clean, modular interface β each page designed for precision and simplicity in DNS management.
The heart of SanchezDNS β manage your DNS zones and all related records (A, AAAA, MX, TXT, SRV, etc.).
Easily create, edit, and delete zones with full PowerDNS API synchronization.
Real-time overview of your DNS infrastructure, including:
- Number of zones, records, and users
- Server uptime, latency, and QPS (queries per second)
- TCP/UDP query distribution
- Active status indicators for connected servers
Customize system behavior and connection parameters:
- Define supported record types for your current connection
- Manage connection credentials (host, server ID, and API key)
- Adjust operational preferences without restarting services
(Administrator only)
Manage user access within the system:
- Add or remove users with defined roles
- Control permissions and visibility across zones and records
- Perfect for teams managing shared DNS environments
(Administrator only)
Centralized audit history tracking every action performed in the system:
- Zone creation, record changes, and deletions
- Login activity and API interactions
- Time-stamped records for compliance and transparency
(Administrator only)
View and manage all PowerDNS server connections:
- Configure multiple authoritative servers
- Securely store API keys with AES-256 encryption
- Monitor connection health and latency in real-time
- Install Docker
- Install Docker Compose
π Official guide: Get Docker
Choose one of the options below to download the configuration file:
π½ Using curl
curl -L -o docker-compose.yaml https://raw.githubusercontent.com/rafinhacuri/sanchezdns/main/docker-compose.yamlπ½ Using wget
wget -O docker-compose.yaml https://raw.githubusercontent.com/rafinhacuri/sanchezdns/main/docker-compose.yamlAlternatively, copy it directly from the example file.
Place your .env file in the project root directory. The following environment variables are required for proper operation:
SITE_URL="https://dns.example.com"
MONGO_URL="mongodb://mongo.example.com:27017"
MONGO_USERNAME="mongouser"
MONGO_PASSWORD="exp"
MONGO_DB_NAME="sanchezdns"
JWT_SECRET="exmp"
CRYPT_KEY="exp"
Note:
- The
JWT_SECRETmust be at least 32 characters long.- The
CRYPT_KEYmust be a base64-encoded string that decodes to 32 bytes (AESβ256).β To generate a valid encryption key run:
openssl rand -base64 32
Run the following commands:
docker compose pull
docker compose up -d --force-recreateThe backend API and frontend UI are preconfigured and will start automatically via Docker.
Check running containers:
docker compose psIf all services show as Up, youβre ready! π
Contributions, issues, and feature requests are welcome!
Feel free to check issues page and submit pull requests.
Licensed under the MIT License
Β© 2025 Rafael Curi Leonardo
