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.inisettings 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
.testTLD (configurable) for local sites, with automatic/etc/hostsfile 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.debGrazr 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.mainfrom 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.inisettings. - Sites Tab:
- Click "+ Add Site" to link a local project directory. Grazr will generate an Nginx configuration and a
.testdomain. - 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.