This directory contains example configuration files for various namedot deployment scenarios.
config.yaml- Basic standalone configuration- SQLite database
- Local development setup
- All features enabled for testing
-
config.master.yaml- Master server configuration- Configured as replication master
- Web admin enabled
- Public REST API for slave connections
-
config.slave.yaml- Slave server configuration- Configured as replication slave
- Syncs from master server
- Web admin disabled (read-only)
-
config.mysql.yaml- MySQL/MariaDB backend- Production-ready MySQL configuration
- Connection pooling settings
-
config.postgres.yaml- PostgreSQL backend- Production-ready PostgreSQL configuration
- Connection pooling settings
config.docker.yaml- Docker environment- Configured for containerized deployment
- Environment variable integration
-
Copy the example that matches your use case:
cp docs/examples/config.yaml config.yaml
-
Edit the configuration:
nano config.yaml
-
Generate required secrets:
# Generate API token hash ./namedot -g your-secret-token # Generate admin password hash ./namedot -p your-admin-password
-
Update the configuration with generated hashes
-
Test the configuration:
./namedot -t
-
Start the server:
./namedot -c config.yaml
All examples support the following key features:
api_token_hash- Bcrypt hash of API token for authenticationallowed_cidrs- IP-based access control (CIDR whitelist)tls_cert_file/tls_key_file- HTTPS/TLS configuration
driver- Database backend: sqlite, mysql, postgresdsn- Database connection string
enabled- Enable/disable GeoDNS functionalitymmdb_path- Path to MaxMind GeoIP database filesdownload_urls- Automatic MMDB download URLsuse_ecs- Use EDNS Client Subnet for accurate geolocation
mode- Replication mode: standalone, master, slavemaster_url- Master server URL (slave only)sync_interval_sec- Sync interval in seconds (slave only)api_token- Plain token for outgoing requests to master (slave only)
enabled- Enable/disable web admin interfaceusername/password_hash- Admin credentials
ns.servers- List of default NS server names (supports{zone}placeholder)ns.auto_on_missing- Auto-create NS records when creating new zonesns.auto_fix- Auto-fix missing NS records on server startupns.ttl- TTL for NS records (default: 86400)
When installed from a package, these examples are available at:
- DEB/RPM:
/usr/share/doc/namedot/examples/
The default configuration is installed at:
- DEB/RPM:
/etc/namedot/config.yaml
For more information, see: