ahmdadl / valet-linux-plus
Advanced local development experience for Linux.
Requires
- php: >=8.2
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- ext-posix: *
- ext-xml: *
- illuminate/collections: ^11.4 || ^12.0
- illuminate/container: ^11.0 || ^12.0
- mnapoli/silly: ^1.9
- nategood/httpful: ^1.0
- symfony/process: ^7.0
- uttamrabadiya/console-components: ^1.0.1
Requires (Dev)
- ext-zip: *
- friendsofphp/php-cs-fixer: ^3.3
- mockery/mockery: ^1.2.3
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ~5.5|^9.0
- squizlabs/php_codesniffer: ^3.9
- symfony/var-dumper: ^7.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Version 3.2.0 · An advanced local development environment for Linux.
Table of Contents
- Introduction
- Installation & Requirements
- Command Overview
- Changelog
- What's Different vs Upstream
- Credits
- License
Introduction
Valet Linux+ is an advanced development environment for Linux minimalists. No Vagrant, no /etc/hosts file. You can even share your sites publicly using local tunnels. Yeah, we like it too.
Valet Linux+ configures your system to always run Nginx in the background when your machine starts. Then, using DnsMasq, Valet proxies all requests on the *.test domain to point to sites installed on your local machine.
In other words, a blazing fast PHP development environment that uses roughly 7mb of RAM. Valet Linux+ isn't a complete replacement for Vagrant or Homestead, but provides a great alternative if you want flexible basics, prefer extreme speed, or are working on a machine with a limited amount of RAM.
Installation & Requirements
Valet Linux+ is distributed as a Composer package and requires the following:
| Requirement | Notes |
|---|---|
| PHP | >=8.2 (CLI) — any PHP >=8.2 is supported (8.2, 8.3, 8.4 … 9.x, future-proof). Extensions pdo, posix, json, mbstring, xml are required. Valet validates with version_compare >=8.2 and isolation supports >=7.0. |
| Nginx | Installed and managed automatically by Valet. |
| DnsMasq | Installed and configured automatically for the *.test TLD. |
| Composer | Required to install Valet (composer global require ahmdadl/valet-linux-plus). |
| OS support | Debian/Ubuntu, Fedora, and Arch-based distributions (distro-aware service handling). |
| Optional | MySQL/MariaDB (default DB), Redis, Mailpit (mail catching), Ngrok (sharing), and PostgreSQL (opt-in via --with-pgsql). |
Install globally with Composer, then run the installer:
composer global require ahmdadl/valet-linux-plus valet install
Use valet install --with-pgsql to also set up PostgreSQL, or --mariadb to use MariaDB instead of MySQL. See docs/commands.md for the full install options.
Optional: auto-switch PHP when entering Valet sites:
echo 'eval "$(valet shell-hook)"' >> ~/.zshrc
Command Overview
Valet Linux+ ships with a large command set. The complete, detailed reference — including every option, argument, and example — lives in docs/commands.md.
| Category | Commands |
|---|---|
| Service lifecycle | install, start, restart, stop, uninstall, status, services, service:add, service:remove |
| Version & update | is-latest, update |
| Domain, port & networking | domain, port, which, proxy, unproxy, proxies |
| Paths & linking | park, paths, forget, link, unlink, links, secure, unsecure, secured |
| Database (MySQL/MariaDB) | db:list, db:create, db:drop, db:reset, db:setup, db:refresh, db:sqlite, db:sqlite:reset, db:import, db:export, db:configure, db:url, db:open |
| PostgreSQL | pg:list, pg:create, pg:drop, pg:reset, pg:import, pg:export, pg:configure |
| PHP isolation | use, isolate, unisolate, isolated, which-php, php, composer, tinker, repl, shell-hook, tune, bench |
| Project DX | clone, init, env, profile:*, cache:*, database |
| IDE helpers | code, ps, subl, open |
| Sharing | share, fetch-share-url, ngrok-auth |
| Diagnostics | diagnose, doctor, health, xdebug, log, logs, mail, dashboard, backup, restore |
Changelog
See CHANGELOG.md for version history.
What's Different vs Upstream
This fork is based on valet-linux-plus/valet-linux-plus and extends it with the following capabilities not present in the upstream base:
- Project DX (3.1–3.2) —
clone,tinker/repl,db:sqlite,cache:*,shell-hook,tune, andbenchfor faster day-to-day workflows. - Diagnose — a built-in, scriptable health check (
valet diagnose [--json]). - PostgreSQL (opt-in) — a complete
pg:*API alongside the existing MySQL tooling. - Xdebug toggle — one-command enable/disable/status per PHP version.
- Logs / Mail / Status — service log tailing, Mailpit UI launcher, and a unified status view.
- Backup / Restore — archive and recover the full Valet home directory, optionally with database dumps.
- Configurable Services — register custom services (e.g. MinIO) via
config.jsontemplates and manage their lifecycle. - Dashboard — a web UI served at
valet.<domain>for at-a-glance environment info. - Security / architecture hardening — SQL injection and command-injection fixes, PackageManager/ServiceManager abstractions, a hardened
server.php, and PHPStan level 9 across the codebase.
Credits
This is a community fork of genesisweb/valet-linux-plus (now valet-linux-plus/valet-linux-plus) created by Uttam Rabadiya and Divyank Munjapara. All credit for the original base goes to them — this fork maintains and extends their work (2.1.x: diagnose, PostgreSQL, Xdebug toggle, logs/mail/status, backup/restore, configurable services, dashboard). This project is not affiliated with or endorsed by the original authors.
License
Laravel Valet is open-sourced software licensed under the MIT license
