Run legacy and modern PHP & Node.js apps side by side β no conflicts, no headaches
Maintaining an old PHP 7.4 project while building a new Laravel 11 app on PHP 8.5? Running a Next.js frontend alongside a PHP backend? DevBox Pro makes it effortless. Unlike traditional setups, you can run multiple PHP and Node.js versions simultaneously β giving you the freedom to work on legacy applications alongside cutting-edge projects without switching environments or breaking dependencies.
DevBox Pro bundles everything you need: PHP 7.4 through 8.5, Node.js 16 through 24, MySQL, MariaDB, Redis, Nginx, Apache, and more β all in one standalone desktop app. No Docker, no complex configurations, just instant multi-version development.
- PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 - Run any version side by side
- Per-project PHP version selection with compatibility validation
- Easy extension management per version with php.ini editor
- Pre-configured for optimal performance
- Node.js 16, 18, 20, 22, 24 - Run pure Node.js applications
- Per-project Node.js version selection
- Automatic proxy through Nginx/Apache for
.testdomains - Run Express, Next.js, Nuxt, or any Node.js framework
- Nginx 1.26, 1.28 - High-performance, low memory footprint (recommended)
- Apache 2.4 - Full .htaccess support, mod_rewrite included
- Multi-version support - run different versions per project
- Automatic virtual host creation
- HTTP & HTTPS support for every project
| Service | Versions | Description |
|---|---|---|
| MySQL | 8.0, 8.4 | Powerful relational database |
| MariaDB | 10.11, 11.4 | MySQL-compatible, open source |
| Redis | 7.2, 7.4 | In-memory cache & session storage |
| Mailpit | Latest | Email testing with SMTP server |
| phpMyAdmin | Latest | Web-based database management |
| Node.js | 16, 18, 20, 22, 24 (LTS) | JavaScript runtime for projects & tooling |
| Composer | Latest | PHP dependency manager |
- Multi-version support - Run MySQL 8.0 and MariaDB 11.4 simultaneously
- Per-version data isolation - Each version has its own data directory
- Database import/export with .gz compression support
- Progress tracking for import/export operations
- phpMyAdmin integration for web-based management
- Automatic database creation per project
- Automatic SSL certificate generation
- Wildcard certificate support
- One-click certificate trust
.testdomain support (e.g.,myproject.test)
- Laravel - Full support with Artisan, Queue Workers, Scheduler
- Symfony - Console commands, Doctrine integration
- WordPress - WP-CLI ready, Multisite support
- Custom PHP - Works with any PHP application
- Node.js - Express, Next.js, Nuxt, Fastify, or any Node.js app
- Download individual components - Only install what you need
- Multi-version management - Keep multiple versions installed
- One-click updates - Easy version upgrades
- Import custom binaries - Use your own compiled versions
- Remote binary definitions - New versions available without app update
- Compatibility rules sync - Updated version compatibility warnings
- One-click update check - Check for new binaries and rules from Settings
- Offline fallback - Built-in defaults when offline
- Version tracking - Only download when updates are available
- Direct command access - Use
php,npm,node,composerdirectly from any terminal - Automatic version detection - Detects your project and uses the correct PHP/Node.js version
- Works everywhere - VS Code, Windows Terminal, PowerShell, or any terminal emulator
- No prefix needed - Just run
php artisan migrateinstead of complex paths - Prevents version conflicts - No more "wrong PHP version" issues
- Real-time log streaming per project and service
- Color-coded log levels (info, warning, error)
- Log file rotation and cleanup
- Service resource monitoring
- Service version selection per project
- Compatibility validation - Warns about incompatible combinations
- Binary validation - Checks required binaries before project start
- php.ini editor - Customize PHP settings per version
Fresh Laravel project installation with real-time progress tracking. Watch as DevBox Pro runs Composer, generates app keys, and installs npm dependencies automatically.
Detailed project view showing all configuration options - PHP version, web server selection, database settings, and enabled services. Easily switch between Nginx and Apache, enable/disable Redis, MySQL, or MariaDB per project.
Clean overview of all your projects with quick status indicators. See which projects are running, their domains, PHP versions, and quickly start/stop any project with one click.
Binary Manager showing all available PHP versions from 7.4 to 8.4. Download only the versions you need, and run different PHP versions for different projects simultaneously.
Download multiple web server and database versions. Choose between Nginx 1.26/1.28, Apache 2.4, MySQL 8.0/8.4, MariaDB 10.11/11.4, Redis 7.2/7.4, and more.
Real-time log streaming with color-coded output. Filter logs by project or service, see errors highlighted in red, and quickly diagnose issues. Supports PHP, Nginx, Apache, MySQL, and all other service logs.
Full database management interface. Create, drop, import, and export databases with ease. Supports .sql and .gz compressed files. Progress tracking for large imports/exports. Quick access to phpMyAdmin for visual management.
Global services panel showing all active services. Start/stop MySQL, MariaDB, Redis, Mailpit, and phpMyAdmin independently. Each service displays its current status, version, and port number.
Application settings with cloud configuration updates. Check for new binary definitions and compatibility rules without updating the app. Configure default paths, ports, and preferences.
-
Download the latest release for your platform:
- Windows:
DevBox-Pro-Setup-x.x.x.exe - macOS:
DevBox-Pro-x.x.x.dmg
- Windows:
-
Install the application
-
Download binaries from the Binary Manager:
- Click "Download All" for the full stack, or
- Select individual components as needed
- Click "+ New Project" on the Dashboard
- Select your project type (Laravel, Symfony, WordPress, Custom PHP, or Node.js)
- Choose project folder and PHP/Node.js version
- Configure services (MySQL, Redis, etc.)
- Set your domain (e.g.,
myproject.test) - Click Create and you're ready!
DevBox Pro lets you use php, npm, node, and composer directly from any terminal with automatic project version detection:
- Go to Settings > CLI Tool in DevBox Pro
- Enable "Terminal commands"
- Restart your terminal or VS Code
Usage examples:
# Navigate to your project folder
cd C:\Projects\my-laravel-app
# Run PHP with project-specific version (auto-detected)
php artisan migrate
php artisan optimize
# Run Composer with correct PHP version
composer install
composer update
# Run Node.js/npm with project version (if enabled)
npm install
npm run dev
npx vite buildHow it works: When you run
phpornpmfrom a project directory, DevBox Pro automatically uses that project's configured version. Outside a project, it uses your default version set in Settings.
- Node.js 18+
- npm or yarn
- Git
# Clone the repository
git clone https://github.com/JeffGepiga/DevBoxPro.git
cd DevBoxPro
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Create distribution package
npm run distDevBox Pro includes a comprehensive test suite covering Unit, Integration, and End-to-End (E2E) scenarios.
# Run all tests
npm test
# Run only main process tests
npm run test:main
# Run only renderer process tests
npm run test:renderer
# Run End-to-End (E2E) tests
npm run test:e2eThe E2E tests are built using Playwright and cover the full project lifecycle, database workflows, binary downloads, SSL configuration, and settings persistence.
DevBoxPro/
βββ src/
β βββ main/ # Electron main process
β β βββ services/
β β β βββ PhpManager.js # PHP version management
β β β βββ ProjectManager.js # Project lifecycle
β β β βββ ServiceManager.js # MySQL, MariaDB, Redis, etc.
β β β βββ DatabaseManager.js # Database operations (CRUD, import/export)
β β β βββ SslManager.js # SSL certificates
β β β βββ WebServerManager.js # Nginx/Apache
β β β βββ BinaryDownloadManager.js # Binary downloads
β β β βββ LogManager.js # Log management
β β β βββ SupervisorManager.js # Process supervisor
β β β βββ ...
β β βββ ipc/
β β β βββ handlers.js # IPC communication
β β βββ utils/
β β β βββ ConfigStore.js # Configuration storage
β β βββ preload.js # Preload script
β β βββ main.js # Main entry
β β
β βββ renderer/ # React frontend
β βββ src/
β β βββ components/ # Reusable components
β β β βββ Sidebar.jsx
β β β βββ PhpIniEditor.jsx
β β β βββ ProjectTerminal.jsx
β β β βββ ...
β β βββ pages/ # Page components
β β β βββ Dashboard.jsx
β β β βββ Projects.jsx
β β β βββ ProjectDetail.jsx
β β β βββ Databases.jsx
β β β βββ Services.jsx
β β β βββ BinaryManager.jsx
β β β βββ Settings.jsx
β β β βββ ...
β β βββ context/ # React context
β β β βββ AppContext.jsx
β β βββ App.jsx # Root component
β βββ index.html
β
βββ resources/ # App resources (icons, configs)
βββ config/ # Remote configuration files
β βββ binaries.json # Binary download definitions
β βββ compatibility.json # Version compatibility rules
β βββ README.md # Config contribution guide
βββ screenshots/ # App screenshots
βββ build/ # Build resources
βββ electron-builder.config.js # Electron builder config
βββ package.json
βββ README.MD
| Service | Default Port |
|---|---|
| PHP Projects | 8000+ (auto-assigned) |
| MySQL | 3306 |
| MariaDB | 3306 (or 3307 if MySQL is running) |
| Redis | 6379 |
| Mailpit SMTP | 1025 |
| Mailpit Web | 8025 |
| phpMyAdmin | 8080 |
| Nginx HTTP | 80 |
| Nginx HTTPS | 443 |
| Apache HTTP | 80 (or 8081 if Nginx is on 80) |
| Apache HTTPS | 443 |
Projects can use .env files with these pre-configured variables:
APP_ENV=local
APP_DEBUG=true
APP_URL=http://myproject.test
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myproject
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025- Electron - Cross-platform desktop framework
- React - UI library
- Vite - Fast build tool
- TailwindCSS - Utility-first CSS
- electron-builder - Distribution packaging
- Multi-PHP version support (7.4 - 8.5)
- MySQL & MariaDB multi-version support
- Redis multi-version integration
- Nginx & Apache multi-version web servers
- Automatic SSL certificates
- Virtual host management
- Node.js & npm multi-version support
- Pure Node.js project support (Express, Next.js, etc.)
- Composer integration
- Database import/export with compression
- Per-project service version selection
- Binary validation before project start
- php.ini editor
- Real-time log streaming
- Cloud config updates (binaries & compatibility rules)
- Docker container support
- PostgreSQL support
- MongoDB support
- Project templates
- Extension marketplace
- Cloud sync settings
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- π§ Email: jeffreygepiga27@gmail.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Made with β€οΈ for PHP & Node.js developers