Add SVG screenshots and a guide to the DynamoDNS documentation. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/83b3772f-6ea7-4e3a-8be8-a4837bd055d9.jpg
DynamoDNS
A comprehensive web-based dynamic DNS management platform offering advanced infrastructure control, monitoring, and multi-provider integration with a focus on user experience and security.
Features
- Multi-Provider DNS Management: Support for Cloudflare, AWS Route53, GoDaddy, and custom providers
- Dynamic DNS Updates: Automatic IP detection and DNS record updates
- Role-Based Access Control: Granular permissions with customizable roles
- Customer Management: Support for multiple organizations with isolated access
- Historical Tracking: Complete audit trail of DNS changes
- Performance Metrics: Visualize DNS performance and activity
- API Integration: RESTful API with token-based authentication
- Webhook Notifications: Real-time notifications for DNS events
- Multi-Factor Authentication: Enhanced security for user accounts
- Customizable Dashboards: Personalized monitoring views
Technology Stack
-
Backend:
- Express.js for API server
- PostgreSQL for robust data storage
- Drizzle ORM for database interactions
- Passport.js for multi-method authentication
- WebSockets for real-time updates
-
Frontend:
- React for user interface
- TanStack Query for data fetching and caching
- Shadcn UI components for consistent design
- Tailwind CSS for styling
- Recharts for data visualization
Getting Started
Prerequisites
- Node.js (v18 or later)
- PostgreSQL (v14 or later)
- Modern web browser
Installation
-
Clone the repository:
git clone https://github.com/yourusername/dynamodns.git cd dynamodns -
Install dependencies:
npm install -
Configure environment variables by creating a
.envfile:DATABASE_URL=postgresql://username:password@localhost:5432/dynamodns PORT=5000 SESSION_SECRET=your_secure_secret ENABLE_REGISTRATION=false -
Run database migrations:
npm run db:push -
Start the application:
npm run dev -
Access the application at http://localhost:5000
Default Admin Account
On first launch, a default admin account is created:
- Username:
admin - Password:
admin
Important: Change the default password immediately after first login.
Documentation
Comprehensive documentation is available in the /docs directory:
- User Guide - For end users managing DNS records
- API Reference - For developers integrating with the API
- Deployment Guide - For system administrators
- Development Guide - For contributors
- Architecture - System design and architecture overview
Deployment
DynamoDNS can be deployed in various environments:
- Standalone Server: Direct installation on Linux/Windows servers
- Docker: Container-based deployment with Docker Compose
- Cloud Platforms: Deploy to AWS, Azure, Google Cloud, or other providers
See the Deployment Guide for detailed instructions.
Contributing
We welcome contributions from the community! Please see our Development Guide for information on getting started with development.
To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support or questions, please open an issue on GitHub, or contact the maintainers directly.
Acknowledgements
- The open source community for the amazing tools that make this project possible
- Contributors who have helped improve and maintain this project
- Users who have provided feedback and feature suggestions
