A user-friendly, Herd-like local development environment for Linux (Ubuntu).
Grazr simplifies managing your local development stack, including multiple PHP versions, Nginx, databases (MySQL, PostgreSQL), caching (Redis), object storage (MinIO), and Node.js versions (via NVM), all through an intuitive graphical interface.
- Bundled Services: Manages its own isolated versions of Nginx, PHP (multiple versions), MySQL/MariaDB, PostgreSQL (multiple versions/instances), Redis, and MinIO.
- PHP Version Management: Easily switch PHP versions per site. Install and manage multiple PHP versions compiled from source.
- PHP Extension & INI Management: Enable/disable common PHP extensions and edit
php.ini
settings directly from the UI for each PHP version (CLI and FPM). - Site Management: Link local project directories, and Grazr will automatically configure Nginx to serve them.
- Custom Domains: Uses
.test
TLD (configurable) for local sites, with automatic/etc/hosts
file management. - Local SSL: Automatic SSL certificate generation and management for your local sites using a bundled
mkcert
(installs its own local CA). - Node.js Version Management: Integrates a bundled NVM to install and manage multiple Node.js versions, selectable per site.
- User-Friendly GUI: Built with PySide6 (Qt6) for a clean and modern interface.
- Background Task Processing: Keeps the UI responsive during longer operations.
(Consider adding a few key screenshots of the UI here. You've provided several, like image_ca0d71.png
showing the Sites page)
Example:


- Core Application: Python 3.10+
- User Interface: PySide6 (Qt6)
- Bundled Services (Examples):
- Nginx
- PHP (multiple versions, compiled from source)
- MySQL/MariaDB (bundled)
- PostgreSQL (multiple versions, compiled from source)
- Redis (compiled from source)
- MinIO (binary)
- NVM (script)
- mkcert (binary)
Once a .deb
package is available:
sudo apt install ./grazr_VERSION_ARCH.deb
Grazr will then be available in your application menu. On first use of SSL features, Grazr will guide you through installing the mkcert
local CA (which may require your sudo password).
Please refer to our comprehensive Contributor & Development Guide for detailed instructions on prerequisites, setup, and running Grazr from source.
- Launch Grazr from your application menu or by running
python -m grazr.main
from the project root (in a development setup). - Services Tab: Start/stop core services like Nginx, MySQL, PostgreSQL, Redis, MinIO. Add new database instances.
- PHP Tab: Manage bundled PHP versions, enable/disable extensions, and edit
php.ini
settings. - Sites Tab:
- Click "+ Add Site" to link a local project directory. Grazr will generate an Nginx configuration and a
.test
domain. - Select a site to manage its PHP version, Node.js version, and enable/disable SSL.
- Click "+ Add Site" to link a local project directory. Grazr will generate an Nginx configuration and a
- Node Tab: Install and manage different Node.js versions using the bundled NVM.
We have detailed documentation for contributors and developers covering various aspects of Grazr:
- Main Contributor & Development Guide
- Service Management:
- Core System:
- User Interface:
- Packaging:
We welcome contributions to Grazr! Whether it's bug reports, feature requests, documentation improvements, or code contributions, please feel free to get involved.
Please read our Contributor & Development Guide for details on:
- Setting up your development environment.
- Coding style and standards.
- The development workflow and branching strategy.
- How to submit pull requests.
- Reporting bugs and suggesting features.
This project is licensed under the MIT License (or your chosen license - create a LICENSE.md file).
- Inspired by tools like Laravel Herd.
- Built with Python and the amazing PySide6 (Qt) framework.
- Utilizes fantastic open-source services like Nginx, PHP, MySQL, PostgreSQL, Redis, MinIO, NVM, and mkcert.