4.6 KiB
4.6 KiB
Quick Start Guide
Get up and running with OVH DNS Manager in minutes!
⚡ 5-Minute Setup
Step 1: Install
# Clone the repository
git clone <repository-url>
cd ovh-dns
# Install dependencies
npm install
Step 2: Configure OVH API
-
Fill in:
- Application name: OVH DNS Manager
- Application description: DNS Management Tool
- Validity: Unlimited (or your preference)
-
Set permissions (check ALL for each):
- GET
/domain/zone/* - POST
/domain/zone/* - PUT
/domain/zone/* - DELETE
/domain/zone/*
- GET
-
Click Create keys and save your:
- Application Key
- Application Secret
- Consumer Key
Step 3: Setup Configuration
# Create config from example
cp config.example.json config.json
# Edit with your credentials
nano config.json # or use your favorite editor
Example configuration:
{
"ovhAccounts": [
{
"id": "account1",
"name": "My OVH Account",
"appKey": "YOUR_APP_KEY_HERE",
"appSecret": "YOUR_APP_SECRET_HERE",
"consumerKey": "YOUR_CONSUMER_KEY_HERE",
"endpoint": "ovh-eu",
"domains": ["example.com"]
}
],
"ipProviders": [
{
"id": "ipify",
"name": "ipify.org",
"ipv4Url": "https://api.ipify.org?format=text",
"ipv6Url": "https://api6.ipify.org?format=text",
"enabled": true
}
],
"autoUpdate": {
"enabled": false,
"checkInterval": 300,
"targetDomains": []
}
}
Step 4: Start the Application
# Development mode
npm run dev
# Production mode
npm run build
npm start
Step 5: Access the Interface
Open your browser and navigate to:
- Development: http://localhost:3000
- Production: http://localhost:3000 (or your configured domain)
🎯 First Tasks
View DNS Records
- The application will load automatically
- Select a domain from the dropdown
- View all DNS records for that domain
Add a DNS Record
- Click "Add Record" button
- Select record type (A, AAAA, CNAME, etc.)
- Enter subdomain (or leave empty for root)
- Enter target value (IP or domain)
- Set TTL (default: 3600)
- Click "Add"
Bulk Update IPs
Perfect for when your public IP changes:
- Select multiple A or AAAA records (checkboxes)
- Click "Update X selected record(s)"
- Choose A (IPv4) or AAAA (IPv6)
- Enter new IP address
- Click "Update"
Configure Automatic Updates
- Click "Settings" tab
- Scroll to "IP Providers" section
- Enable at least one provider
- Scroll to "Automatic Updates"
- Toggle "Enabled"
- Set check interval (e.g., 300 seconds = 5 minutes)
- Enter target domains (comma-separated)
- Click "Save Configuration"
🔧 Common Configurations
Multiple OVH Accounts
In Settings:
- Click "Add Account"
- Fill in credentials for each account
- Assign domains to each account
- Save configuration
Custom IP Providers
Edit config.json:
{
"ipProviders": [
{
"id": "custom",
"name": "My Custom Provider",
"ipv4Url": "https://myservice.com/ip",
"ipv6Url": "https://myservice.com/ipv6",
"enabled": true
}
]
}
Different OVH Endpoints
Available endpoints:
ovh-eu- Europe (default)ovh-ca- Canadaovh-us- United States
🐛 Troubleshooting
Can't connect to OVH API
✅ Check your credentials in config.json
✅ Verify API permissions include domain/zone access
✅ Ensure the consumer key is valid
Domain not showing
✅ Verify domain is in your OVH account ✅ Check domain is listed in config.json ✅ Try refreshing the domain list
IP detection not working
✅ Enable at least one IP provider in Settings ✅ Check internet connectivity ✅ Try a different IP provider
📚 Next Steps
- Read the full README.md for detailed documentation
- Check DEPLOYMENT.md for production deployment
- Explore advanced features like scheduled updates
- Configure backup strategies for your config.json
💡 Pro Tips
- Backup your config:
cp config.json config.backup.json - Use descriptive account names: Makes multi-account management easier
- Start with manual updates: Test before enabling automatic updates
- Monitor the first few automatic updates: Ensure everything works correctly
- Keep dependencies updated: Run
npm updateregularly
🆘 Getting Help
- Check the logs in your browser console (F12)
- Review server logs if running in production
- Verify OVH API status at https://status.ovh.com/
- Open an issue on GitHub with detailed information
Happy DNS Managing! 🚀