mirror of
https://github.com/freedbygrace/DynamoDNS.git
synced 2026-07-26 11:38:13 +00:00
ae19ec9c3d
Adds comprehensive documentation including architecture, API reference, deployment, development, and user guides with README.md. 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/910f6160-6716-488e-83e6-61256595c269.jpg
129 lines
4.0 KiB
Markdown
129 lines
4.0 KiB
Markdown
# 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
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/yourusername/dynamodns.git
|
|
cd dynamodns
|
|
```
|
|
|
|
2. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
3. Configure environment variables by creating a `.env` file:
|
|
```
|
|
DATABASE_URL=postgresql://username:password@localhost:5432/dynamodns
|
|
PORT=5000
|
|
SESSION_SECRET=your_secure_secret
|
|
ENABLE_REGISTRATION=false
|
|
```
|
|
|
|
4. Run database migrations:
|
|
```bash
|
|
npm run db:push
|
|
```
|
|
|
|
5. Start the application:
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
6. 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](docs/user-guide.md) - For end users managing DNS records
|
|
- [API Reference](docs/api-reference.md) - For developers integrating with the API
|
|
- [Deployment Guide](docs/deployment-guide.md) - For system administrators
|
|
- [Development Guide](docs/development-guide.md) - For contributors
|
|
- [Architecture](docs/architecture.md) - 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](docs/deployment-guide.md) for detailed instructions.
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions from the community! Please see our [Development Guide](docs/development-guide.md) for information on getting started with development.
|
|
|
|
To contribute:
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
5. Open a Pull Request
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## Support
|
|
|
|
For support or questions, please [open an issue](https://github.com/yourusername/dynamodns/issues) 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 |