Local control panel for macOS inspired by XAMPP, designed for developers who prefer a fast, straightforward, and elegant interface to manage services like Apache and MySQL, plus access to tools like localhost, phpMyAdmin, and other utilities.
- Features
- Requirements
- Recommended Apache Config
- Logs
- Language support
- Install & Run
- Contributing
- License
- Support this project
- Start, stop, and restart local Apache and MySQL services.
- Quick access to:
log files(opens in System Editor).localhost(opens in Brave).phpMyAdmin(opens in Brave).- Delete the
httpd.pidfile. (One-click delete of Apache PID file when needed, useful if Apache won’t start.) - Vs Code app.
- Real-time monitoring of service status.
- Minimalist interface optimized for macOS (
vibrancy,hiddenInset, no annoying buttons). - Automatically stops all services when you close the app (
⌘ + Qor⌘ + W). - Built with Electron + ❤️.
- macOS 12+
- Node.js 18+
- Brave Browser installed (
/Applications/Brave Browser.app) - VS Code installed (
/Applications/Visual Studio Code.app) - Apache and MySQL managed via Homebrew
To run Apache on ports 80 and 443 without requiring sudo each time, ensure your httpd.conf includes:
User <user>
Group <group>And your Listen directives:
Listen 80
Listen 443Adjust User and Group to match your local user.
Access log:
/opt/homebrew/var/log/httpd/access_log
Apache error log:
/opt/homebrew/var/log/httpd/error_log
MySQL error log:
/opt/homebrew/var/mysql/<username>.err
To change Apache logs, edit httpd.conf:
ErrorLog "/opt/homebrew/var/log/httpd/error_log"
CustomLog "/opt/homebrew/var/log/httpd/access_log" commonReplace with your custom paths:
ErrorLog "/Users/<username>/logs/apache_error.log"
CustomLog "/Users/<username>/logs/apache_access.log" commonTo change the MySQL error log, edit my.cnf:
[mysqld]
log-error=/Users/<username>/logs/mysql_error.logYou can adjust these log paths in the IPC handlers located in your js/main.js under // IPC handlers for logs.
StackBox auto-detects your system language and switches to en (English) or es (Spanish) automatically.
To add another language, copy the locales/en.json file, rename it using only the base language code (like fr.json, de.json, ru.json) and translate the keys.
Keep the structure identical to en.json.
On startup, if the detected language matches your file, it will be used automatically.
-
Clone the repository:
git clone https://github.com/danybranding/stackbox.git cd stackbox -
Install dependencies:
npm install
-
Start in development:
npm start
-
Build for macOS:
npm run build
Open PRs and issues are welcome.
Please keep the code style consistent and follow the existing patterns.
MIT License — Copyright © 2025 DΔNNY BS
If StackBox helps your local workflow, please star this repo on GitHub — it keeps the project visible and alive!
Happy local development!