spiral/roadrunner
High-performance PHP application server and process manager written in Go. RoadRunner replaces Nginx+FPM with long-running workers and a plugin system, offering HTTP(S)/2/3, FastCGI, PSR-7/17 support, and per-project extensibility.
Architecture Modernization:
Performance Optimization:
Observability & Reliability:
Cost Efficiency:
Roadmap Priorities:
Build vs. Buy:
✅ You’re using Laravel/Symfony and want to eliminate Nginx/FPM for lower latency and simpler deployments. ✅ Your app has mixed workloads (HTTP + queues + gRPC) and needs unified process management. ✅ You require HTTP/3, WebSockets, or real-time features (e.g., chat, live updates) without adding Nginx/PHP-FPM overhead. ✅ Observability is critical—RoadRunner’s OpenTelemetry + Prometheus integration reduces tooling sprawl. ✅ You’re deploying on Kubernetes—RoadRunner’s lightweight design and plugin isolation align with cloud-native principles. ✅ Your team lacks DevOps resources—RoadRunner’s auto-restarts, health checks, and systemd-like service management reduce operational toil.
❌ Your stack is purely serverless (e.g., AWS Lambda + API Gateway)—RoadRunner adds unnecessary complexity. ❌ You need Windows-specific features (RoadRunner is Go-based; Windows support is secondary). ❌ Your app is static—use Nginx/Varnish or Cloudflare Workers instead. ❌ You’re locked into a non-PSR-7 framework (e.g., legacy Zend, old Symfony 2)—RoadRunner requires PSR-15 middleware. ❌ Your team lacks Go/PHP interop experience—RoadRunner’s plugin system requires basic configuration knowledge.
"RoadRunner lets us replace our bloated Nginx+FPM stack with a single, high-performance PHP server—cutting costs, reducing latency, and enabling real-time features like WebSockets and gRPC. It’s like upgrading from a sedan to a hypercar for our backend, with the added bonus of built-in observability and queue processing. Early adopters (e.g., [Company X]) saw 30% faster API responses and 40% lower cloud bills by consolidating their infrastructure."
Key Outcomes:
**"RoadRunner is a drop-in replacement for PHP-FPM that gives us:
Migration Path:
Trade-offs:
.rr.yaml) and plugin system.Try It Out:
composer require spiral/roadrunner-cli
./vendor/bin/rr get-binary
./rr serve -c .rr.yaml
Docs: roadrunner.dev | Slack: Spiral Framework
**"RoadRunner simplifies our infrastructure by:
Deployment Example (Docker):
FROM php:8.3-cli
COPY --from=ghcr.io/roadrunner-server/roadrunner:2025.X.X /usr/bin/rr /usr/local/bin/rr
CMD [\"rr\", \"serve\", \"-c\", \"/app/.rr.yaml\"]
Monitoring: Expose /metrics endpoint via RoadRunner’s prometheus middleware.
Alert: Watch for SIGUSR2 signal support for graceful config reloads (v2025.1.5+)."
How can I help you explore Laravel packages today?