DevBoxPro
Local development server with multi-version support. Run PHP 7.4 to 8.4 simultaneously with MySQL, Redis, Nginx & more. No Docker needed.
Install / Use
/learn @JeffGepiga/DevBoxProREADME
🚀 DevBox Pro
Run legacy and modern PHP and Node.js apps side by side with isolated runtimes, bundled services, and zero Docker setup.
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 is built for exactly that workflow. It lets you run multiple PHP, Node.js, database, and web server versions at the same time, with per-project configuration, automatic local domains, compatibility warnings, and bundled tooling.
DevBox Pro is an Electron desktop app with a React renderer and a Node.js main process. It manages PHP, Node.js, MySQL, MariaDB, Redis, Nginx, Apache, PostgreSQL, MongoDB, MinIO, Memcached, Mailpit, phpMyAdmin, Composer, Git, and more from one local interface.
Version 1.0.6: This release focuses on web server hardening and the new Share on Internet option powered by Cloudflare Tunnel and zrok.
Important: DevBox Pro is built for local development, testing, demos, and temporary preview links. It is not intended for production hosting or production traffic.
✨ Features
🐘 Multi-PHP Version Support
- PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 - Run multiple versions 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 Project Support
- 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
🌐 Web Server Options
- Nginx 1.24, 1.26, 1.28 - High-performance, low memory footprint (recommended)
- Apache 2.4 - Full .htaccess support, mod_rewrite included
- Front-door ownership and automatic proxying between Nginx and Apache
- Automatic virtual host creation
- HTTP & HTTPS support for every project
📦 Embedded Services
| Service | Versions | Description | |---------|----------|-------------| | MySQL | 5.7, 8.0, 8.4 | Powerful relational database | | MariaDB | 10.6, 10.11, 11.4 | MySQL-compatible, open source | | Redis | 6.2, 7.2, 7.4 | In-memory cache & session storage | | PostgreSQL | 14, 15, 16, 17 | Advanced relational database | | MongoDB | 6.0, 7.0, 8.0 | Document database | | Memcached | 1.6 | Distributed memory caching | | MinIO | Latest | S3-compatible object 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 | | Python | 3.10, 3.11, 3.12, 3.13 | Runtime for project tooling and workers | | SQLite | 3 | Embedded database runtime | | Composer | Latest | PHP dependency manager |
💾 Database Management
- Multi-engine support - MySQL, MariaDB, PostgreSQL, and MongoDB workflows
- Per-version data isolation - Each version has its own data directory
- Database import/export with
.sql,.gz, PostgreSQL, and MongoDB flows - Progress tracking for import/export operations
- phpMyAdmin integration for web-based management
- Automatic database creation per project
🔐 SSL & Security
- Automatic SSL certificate generation
- Wildcard certificate support
- One-click certificate trust
.testdomain support (e.g.,myproject.test)
🌍 Public Internet Sharing
- Share a running project publicly with Cloudflare Tunnel or zrok
- Per-project Share on Internet toggle with optional auto-start tunnel when the project starts
- Works with both Nginx and Apache projects, including mixed front-door proxy setups
- Tunnel proxy rewrites redirects, cookies, and absolute local
.testURLs so public sessions stay on the tunnel hostname - Cloudflare Quick Tunnels use random
*.trycloudflare.comURLs - zrok requires a one-time app-wide enable token in Binary Manager → Tools
- Built for previews and reviews, not for production deployment
🎯 Framework Support
- 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
🔧 Binary Manager
- 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 definitions - Binary metadata and compatibility rules can be updated without shipping a new app build
☁️ Cloud Configuration Updates
- 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
💻 Terminal Commands
- Direct command access - Use
php,npm,node,composer,mysql,mysqldump, and related tools directly 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
📊 Logging & Monitoring
- Real-time log streaming per project and service
- Color-coded log levels (info, warning, error)
- Log file rotation and cleanup
- Service resource monitoring
⚙️ Project Configuration
- 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
🚀 Quick Start
Installation
- Download the latest release for your platform:
- Windows:
DevBox-Pro-Setup-1.0.6.exe - macOS:
DevBox-Pro-1.0.6.dmg
-
Install the application
-
Download binaries from the Binary Manager:
- Click "Download All" for the full stack, or
- Select individual components as needed
Creating Your First Project
- 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!
Sharing a Project on the Internet
- Open the project detail page and enable Share on Internet
- Choose Cloudflare Tunnel or zrok as the provider
- Optionally enable Auto-start tunnel if the project should publish automatically on startup
- Start the project, then click Start Sharing
- Use the generated public URL to access the project from outside your local machine
Provider notes: Cloudflare uses disposable random public URLs on
trycloudflare.com. zrok requires a one-time app-wide enable step before any project can use it.
Production note: Tunnel sharing is intended for temporary previews, QA, and stakeholder review. Do not use DevBox Pro as a production hosting platform.
Using Terminal Commands
DevBox Pro lets you use php, npm, node, composer, mysql, and mysqldump 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 build
# Connect to MySQL/MariaDB using the active database version
mysql -u root
mysql -u root -p mydb < migration.sql
mysqldump -u root mydb > backup.sql
How it works: When you run
php,mysql, ornpmfrom a project directory, DevBox Pro automatically uses that project's configured version. Outside a project, it uses your default version set in Settings.
💻 Development Setup
Prerequisites
- Node.js 24+
- npm
- Git
Setup
# Clone the repository
git clone https://github.com/JeffGepiga/DevBoxPro.git
cd DevBoxPro
# Install dependencies
npm install
# Start the Electron app with the Vite renderer dev server
npm run dev
# Build the renderer bundle only
npm run build:renderer
# Build platform packages
npm run build:win
npm run build:mac
npm run build:all
The renderer dev server runs at http://localhost:3000.
Testing
DevBox Pro includes unit, integration, and end-to-end coverage.
# 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:e2e
The test suite covers the main-process managers, the renderer, an
