Complete startup automation and external access fixes#1
Merged
Patel230 merged 19 commits intodevelopmentfrom Aug 17, 2025
Merged
Complete startup automation and external access fixes#1Patel230 merged 19 commits intodevelopmentfrom
Patel230 merged 19 commits intodevelopmentfrom
Conversation
added 19 commits
August 16, 2025 17:01
- Add *.tsbuildinfo to prevent committing incremental build files - Add prisma/dev.db to exclude local database files - Ensures cleaner repository without build artifacts
- Create environment files automatically with sensible defaults - Add proper database health checks before proceeding - Include Prisma client generation step - Clean TypeScript build cache to prevent stale builds - Improve reliability of initial setup process
- Add automatic setup detection and execution - Implement proper database health checks - Include Prisma client generation for reliability - Add service readiness monitoring with health checks - Display professional status box when all services are ready - Provide clear URLs and helpful tips to users
- Add ./start script with colorful banner and clear progress indicators - Add ./launch.sh as minimal quick-start alternative - Both scripts provide automatic setup detection - Improve user experience with clear messaging and guidance - Make GraphDone accessible to users without reading documentation
- Replace multi-step setup with single ./start command - Add clear explanation of automatic setup process - Include direct URLs for all services with descriptions - Add alternative launcher options for different user preferences - Update contributing instructions to use new startup flow - Improve user experience with clearer getting started guide
- Add interactive Node.js 18 installation using nvm when missing - Provide comprehensive installation guides for all prerequisites - Include automatic version upgrade prompts for outdated Node.js - Add clear prerequisites section to README.md - Enhance error messages with specific installation instructions - Support multiple installation methods across different platforms
- Add automatic Docker permission detection and sudo fallback - Provide clear instructions for fixing Docker group permissions - Support sudo mode for users who haven't fixed permissions yet - Remove obsolete 'version' field from docker-compose.yml - Add troubleshooting section to README for common issues - Auto-detect and handle permission issues in both setup and run scripts
- Add automatic nvm environment loading in run script - Use subshells for directory changes to prevent cd errors - Detect and handle case where Node.js is installed but not in PATH - Provide clear instructions for shell restart when needed - Add fallback error handling with helpful troubleshooting tips - Export proper PATH when installing Node.js via nvm
- Use kill -9 for more reliable port cleanup - Add automatic port cleanup before starting development servers - Implement proper signal handling for clean shutdown - Create standalone cleanup script for manual process cleanup - Add port troubleshooting section to README - Improve error handling and process management
- Web app: 3000 → 3127 (less commonly used port) - GraphQL API: 4000 → 4127 (less commonly used port) - Update all configuration files and scripts - Update documentation and README with new URLs - Port 3000 is heavily used by React dev servers and other tools - These new ports are much less likely to conflict with existing services
- Add core package build step before starting dev servers - Ensures workspace dependencies are properly resolved - Prevents 'Cannot find module @graphdone/core' errors - Core package must be built for other packages to import it correctly
- Enhance setup script to ensure proper workspace linking - Add dependency checks to run script with automatic fixes - Create fix-workspace.sh script for manual troubleshooting - Add workspace dependency verification steps - Include troubleshooting section in README for module errors - Ensure core package is always built before starting servers
- Add automatic detection of workspace dependency issues - Perform quick workspace repair when core package missing - Rebuild core package and reinstall dependencies as needed - Fall back to full setup if quick repair fails - Users no longer need to run separate fix scripts - One command (./start) now handles all common issues
- Include Node.js detection and nvm loading in start script - Handle case where npm command not found due to PATH issues - Ensure start script works even when Node.js not in PATH - Provides consistent experience across different environments
- Include Prisma client generation in workspace repair - Detect missing Prisma client and automatically regenerate - Add Prisma client check to workspace dependency detection - Ensure server starts without 'prisma generate' errors - Complete end-to-end automation for all common setup issues
- Add host: '0.0.0.0' to Vite server configuration - Enables access to development server from external connections - Required for accessing GraphDone from outside localhost - Allows testing with wget/curl from remote hosts
- Add allowedHosts: 'all' to Vite server configuration - Fixes 'Blocked request. This host is not allowed' errors - Enables access via Tailscale, VPN, and custom domain names - Required for accessing GraphDone via hostname instead of IP
- Set host: true to allow all hostnames (including Tailscale) - Removes explicit allowedHosts and disableHostCheck options - Ensures external access works properly for remote development
- Import hostname from os module for dynamic detection - Add common patterns for .local and .tailscale domains - Removes hardcoded hostnames and IP addresses
Member
Patel230
added a commit
that referenced
this pull request
Oct 27, 2025
Complete startup automation and external access fixes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
This PR implements comprehensive startup automation for GraphDone, making it incredibly easy for developers to get up and running with a single command. Extensive work was done to handle common development environment issues automatically.
🚀 Key Improvements
One-Command Startup Experience:
./startlauncher script with professional console output and automatic error handlingEnhanced Development Scripts:
./tools/setup.sh- Robust initial environment setup with error handling./tools/run.sh- Professional development server management with health monitoring./tools/cleanup.sh- Cleanup hanging processes and ports./tools/fix-workspace.sh- Comprehensive workspace dependency repairExternal Access & Network Support:
os.hostname()🔧 Technical Fixes
Startup Script Reliability:
Network Configuration:
host: '0.0.0.0'for external interface bindingallowedHostswith auto-detected hostnameError Handling:
📚 Documentation Updates
🧪 Testing
💡 Developer Experience
This PR transforms GraphDone from requiring manual setup steps to a one-command experience:
git clone https://github.com/GraphDone/GraphDone-Core.git cd GraphDone-Core ./startThe script automatically handles:
🔄 Breaking Changes
All changes are backward compatible and maintain existing functionality while adding robust automation.
Generated with significant development and testing effort for production-ready startup automation.