genesisweb/valet-linux-plus
Valet Linux Plus is a lightweight Laravel development environment for Linux, forked from Valet Linux. It runs Nginx and DnsMasq locally, letting you serve sites with valet link or park—no Vagrant or Docker required. Supports multiple PHP versions and SSL.
Architecture fit: Valet Linux Plus is not a Composer library you require into an application — it is a host-level CLI and system service manager (nginx, dnsmasq, PHP-FPM, TLS via mkcert) that provisions a local development environment on Linux. Its "architecture fit" question is therefore about the developer workstation layer, not the application runtime. It occupies the same niche as Laravel Herd, Laravel Sail, DDEV, or a hand-rolled LEMP stack. It is a reasonable fit only if the team standardizes on Linux workstations and wants a zero-Docker, low-overhead local stack.
Integration feasibility: Installation is a global bootstrap script requiring sudo, editing /etc/hosts, registering systemd units, and binding ports 80/443. That is feasible but invasive; it must be treated as a machine-provisioning concern (dotfiles/Ansible/manual runbook), not an application dependency. 2.0.3 itself is a low-risk patch: a fix for deprecated Valet HTTP/2 nginx configuration directives and a dependency-range widening to support both Laravel 11 and 12. No API surface changes, no config schema changes, no migrations.
Technical risk: Moderate and concentrated in the host environment rather than in code. Primary risks: (1) port 80/443 contention with Docker, Apache, or a pre-existing nginx; (2) DNS resolver conflicts from dnsmasq against systemd-resolved; (3) trust-store pollution from locally generated CA certs; (4) the HTTP/2 directive fix implies nginx version sensitivity — teams on older distro-packaged nginx may see config parse failures after upgrade, and teams on very new nginx may have already patched around it. The Laravel 11/12 support widening is a compatibility improvement, not a migration hazard. The package is community-maintained with a small contributor base (two first-time contributors in this release), which is a sustainability risk for anything treated as team-standard tooling.
Key questions:
valet-linux-plus the actively maintained fork, or has upstream Laravel Valet/Herd superseded it for our target distros?Stack fit: Appropriate only for a Linux-native, non-containerized local development workflow. It is a poor fit for teams already standardized on Docker/Sail, DDEV, or Laravel Herd, and irrelevant to production. The natural pairing is a Laravel 11 or 12 application with PHP 8.2+ on Ubuntu/Debian/Fedora workstations.
Migration path: Treat this as greenfield machine provisioning, not an app migration. Sequence: pilot on 1–2 volunteers' machines, confirm nginx/dnsmasq/port coexistence with existing tooling, then codify into an onboarding script or documented runbook. For teams already on 2.0.2, upgrading to 2.0.3 is a straightforward git pull + re-run of the installer; the only action item is verifying nginx reloads cleanly after the HTTP/2 config change. For teams on Valet Linux (the older fork) or upstream Valet, migration means uninstalling the prior tool first to avoid duplicate dnsmasq/nginx service definitions.
Compatibility: The 2.0.3 release explicitly broadens framework support to Laravel 11 and 12, which removes a prior pinning constraint — this is the most consequential line in the changelog for us. Confirm the PHP version matrix each Laravel major implies, and confirm the distro-packaged nginx version on our standard developer image supports the corrected HTTP/2 syntax.
Sequencing: (1) Validate nginx HTTP/2 config on our standard image; (2) pin the exact version (2.0.3) in the onboarding runbook rather than tracking main; (3) pilot; (4) document coexistence rules with Docker; (5) roll out. Do not roll out in the same window as any other workstation tooling change.
Maintenance: Low ongoing effort per developer once installed, but the tool sits on the critical path of every developer's daily loop — a broken nginx or dnsmasq means nobody can run the app locally. Budget for a designated owner and a quarterly review of upstream activity. The small maintainer base is the main long-term concern; have a fallback (Docker/Sail) documented before it becomes urgent.
Support: First-line support lands on whoever owns developer experience. Expect recurring tickets of three kinds: port conflicts, DNS resolution failures after VPN connect/disconnect, and certificate trust warnings after browser updates. None are hard, all are recurring. A short internal FAQ resolves most of them.
Scaling: Scales linearly and cheaply across developers — no shared infrastructure, no per-seat cost. It does not scale as a CI or preview-environment solution; keep CI containerized. Onboarding time is roughly one script run plus troubleshooting, materially faster than a from-scratch LEMP setup.
Failure modes: nginx fails to start after upgrade due to deprecated-directive removal on older nginx; dnsmasq collides with systemd-resolved causing *.test resolution failures; Docker cannot bind 80/443 while Valet is running; locally trusted CA expires or is distrusted, causing browser TLS errors; a partial uninstall leaves orphaned systemd units. Each needs a documented recovery step.
Ramp-up: Low conceptual ramp-up for developers familiar with Laravel Valet conventions (valet link, valet secure, valet park). Higher ramp-up for whoever administers it, since debugging nginx/dnsmasq/PHP-FPM interactions requires Linux systems knowledge that many Laravel developers do not have. Recommend the administrator, not each developer, own the installer and the troubleshooting runbook.
How can I help you explore Laravel packages today?