This commit adds comprehensive email testing support and improves the Homepage
dashboard configuration logic:
MailHog Email Testing:
- Add MailHog service with configurable SMTP and Web UI ports
- Configure MailHog ports in config.sh with defaults (1025 SMTP, 8025 Web)
- Add port conflict checking for MailHog ports
- Use environment variables for MailHog ports in docker-compose.yml
Enhanced Homepage Configuration:
- Improve update_services_yaml() function to handle Production and Local tabs separately
- Add local IP address configuration prompt for Homepage Local tab
- Support custom local network IPs (e.g., Tailscale) for local service access
- Add comprehensive port-based URL mappings for all services in Local tab
- Include MailHog in both Production and Local service mappings
Configuration Improvements:
- Add local_ip parameter to update_services_yaml function
- Display MailHog information in port summary and next steps
- Update completion message with Homepage Local tab configuration info
These changes enable developers to test email functionality locally and provide
better support for accessing services via local network IPs.
- Implemented a comprehensive health check utility to monitor system dependencies including NocoDB, SMTP, Represent API, disk space, and memory usage.
- Created a logger utility using Winston for structured logging with daily rotation and various log levels.
- Developed a metrics utility using Prometheus client to track application performance metrics such as email sends, HTTP requests, and user activity.
- Added a backup script for automated backups of NocoDB data, uploaded files, and environment configurations with optional S3 support.
- Introduced a toggle script to switch between development (MailHog) and production (ProtonMail) SMTP configurations.