Files
miniPaaS/minipaas.config.js
wwelsh 95ca23bc0a Implement comprehensive PaaS enhancements
This commit implements all features outlined in PLAN.md:

Phase 1 - High Priority:
- Landing page with retro early 2000s design aesthetic
- Volume storage system with Docker volume management
- File upload/download/browse capabilities for volumes
- Health monitoring with Docker, DB, and Traefik checks
- Orphaned container detection and cleanup

Phase 2 - Medium Priority:
- Build queue system with concurrent build limits
- Automatic retry with exponential backoff
- Resource limits (CPU and memory) per project
- Deployment rollback functionality
- Image history management and cleanup
- Centralized logging with secret masking

Phase 3 - Low Priority:
- Webhook support for GitHub auto-deployment
- Branch filtering for webhooks
- Build cache optimization using previous images
- Configuration file support (minipaas.config.js)
- Enhanced secrets management with auto-detection
- Secret masking in environment variables

Additional Improvements:
- Updated server.js with all new routes and services
- Added health monitor service integration
- Implemented landing page routing based on auth
- Enhanced database schema with new tables and columns
- Added multer dependency for file uploads
- Created comprehensive API endpoints for all features
- Updated README with new features (removed emojis)
- Created IMPLEMENTATION_SUMMARY.md documentation

Database Changes:
- Added volumes and volume_files tables
- Added webhooks table for event tracking
- Enhanced projects table with resource limits
- Enhanced deployments table with rollback support
- Enhanced env_vars table with secret flags
- Added teams tables for future multi-user support

All changes are backward compatible with safe migrations.
No emojis used in code or UI as requested.
2025-11-12 07:12:56 +00:00

31 lines
460 B
JavaScript

module.exports = {
defaultPort: 3000,
maxConcurrentBuilds: 2,
volumeDefaultSize: 5 * 1024 * 1024 * 1024,
buildCacheEnabled: true,
resourceLimits: {
defaultMemoryMB: 512,
defaultCPUMillicores: 1000
},
retention: {
keepDeployments: 10,
keepImages: 5,
logRetentionDays: 30
},
healthCheck: {
intervalSeconds: 60,
autoRestartFailed: false
},
webhooks: {
enabled: true,
allowedEvents: ['push']
}
};