Features:
- Fix pipeline visualization to show real deployment status
- Add project sidebar with status indicators
- Implement container restart without rebuild (Start button)
- Add health checker to detect port mismatches and bad gateway errors
- Fix deployment API routes (/deployments/:id/start, /stop)
Backend changes:
- Add health_status column to deployments table
- Create healthChecker service for monitoring deployment health
- Fix missing database columns (error_message, error_type, health_status)
- Update projects API to include deployments array
- Add smart container restart logic (start existing or create new)
Frontend changes:
- Add left sidebar with minimal project list and status dots
- Update pipeline to show Traefik errors based on health checks
- Fix button event handlers with stopPropagation
- Change navbar "Projects" to "Home"
- Keep original vertical card layout
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implements local polling-based commit detection without requiring webhooks or public endpoints. Perfect for local development workflow.
Backend Changes:
- Added commit tracking columns to projects table:
* latest_commit_sha: SHA of latest commit on branch
* latest_commit_message: Commit message preview
* latest_commit_author: Commit author name
* latest_commit_date: Commit timestamp
* last_commit_check: Last time commits were checked
- Created commitPoller service that:
* Polls all projects every 60 seconds (configurable)
* Uses GitHub API to check for new commits on tracked branch
* Compares latest remote commit with deployed commit
* Updates project with latest commit information
- Integrated poller into server lifecycle (start/stop)
Frontend Changes:
- Enhanced pipeline to detect new commits:
* Compares project.latest_commit_sha with deployment.commit_sha
* Shows yellow warning in GitHub stage when new commit detected
* Displays commit message preview (first 50 chars)
* Action button: "Deploy new?" for one-click deployment
- New commit detection shown when deployment is running or stopped
- Does not interfere with active builds/deployments
Benefits:
- Works entirely locally without exposing ports
- No webhook configuration required
- Uses existing GitHub access tokens
- Real-time commit awareness within 60 seconds
- Helps catch commits before pushing to production
- Perfect for intermediate testing step before Railway deployment
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.