RoadRunner alternatives and similar packages
Based on the "Server Applications" category.
Alternatively, view RoadRunner alternatives based on common mentions on social networks and blogs.
-
Caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS -
etcd
Distributed reliable key-value store for the most critical data of a distributed system -
Vault
A tool for secrets management, encryption as a service, and privileged access management -
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. -
apex
Build, deploy, and manage AWS Lambda functions with ease (with Go support!). -
SFTPGo
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob -
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go. -
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native) -
discovery
A registry for resilient mid-tier load balancing and failover. -
Flagr
Flagr is a feature flagging, A/B testing and dynamic configuration microservice -
algernon
:tophat: Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support -
Key Transparency
A transparent and secure way to look up public keys. -
Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites -
Trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator -
jackal
💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP). -
Golang API Starter Kit
Go Server/API boilerplate using best practices DDD CQRS ES gRPC -
go-feature-flag
A simple and complete self hosted feature flag solution, without any complex backend system to install, all you need is a file as your backend. 🎛️ -
Euterpe
Self-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧 -
goproxy
🦁 goproxy is a proxy server which can forward http or https requests to remote servers./ goproxy 是一个反向代理服务器,支持转发 http/https 请求。 -
Eru
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time. -
marathon-consul
Integrates Marathon apps with Consul service discovery. -
cortex-tenant
Prometheus remote write proxy that adds Cortex tenant ID based on metric labels -
go-proxy-cache
Simple Reverse Proxy with Caching, written in Go, using Redis. -
Simple CRUD App w/ Gorilla/Mux, MariaDB
Simple CRUD Application with Go, Gorilla/mux, MariaDB, Redis. -
lets-proxy2
Reverse proxy with automatically obtains TLS certificates from Let's Encrypt -
simple-jwt-provider
Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management. -
autobd
autobd is an automated, networked and containerized backup solution -
protoxy
A proxy server than converts JSON request bodies to protocol buffers -
go-fitbit
Fitbit API for Go to fetch, add, update and delete data on Fitbit using REST API -
riemann-relay
Service for relaying Riemann events to Riemann/Carbon destinations
Static code analysis for 29 languages.
Do you think we are missing an alternative of RoadRunner or a related project?
README
RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a service with the ability to extend its functionality on a per-project basis.
RoadRunner includes PSR-7/PSR-17 compatible HTTP and HTTP/2 server and can be used to replace classic Nginx+FPM setup with much greater performance and flexibility.
Join our discord server: Link
Official Website | Documentation | Release schedule
Features:
- Production-ready
- PCI DSS compliant
- PSR-7 HTTP server (file uploads, error handling, static files, hot reload, middlewares, event listeners)
- HTTPS and HTTP/2 support (including HTTP/2 Push, H2C)
- A Fully customizable server, FastCGI support
- Flexible environment configuration
- No external PHP dependencies (64bit version required), drop-in (based on Goridge)
- Process manager and task pipeline
- Integrated metrics (Prometheus)
- Workflow engine by Temporal.io
- Works over TCP, UNIX sockets and standard pipes
- Automatic worker replacement and safe PHP process destruction
- Worker create/allocate/destroy timeouts
- Max jobs per worker
- Worker lifecycle management (controller)
- maxMemory (graceful stop)
- TTL (graceful stop)
- idleTTL (graceful stop)
- execTTL (brute, max_execution_time)
- Payload context and body
- Protocol, worker and job level error management (including PHP errors)
- Development Mode
- Integrations with Symfony, Laravel, Slim, CakePHP, Zend Expressive
- Application server for Spiral
- Included in Laravel Octane
- Automatic reloading on file changes
- Works on Windows (Unix sockets (AF_UNIX) supported on Windows 10)
Installation:
To get the roadrunner binary file you can use our docker image: spiralscout/roadrunner:2.X.X
(more information about
image and tags can be found here) or use the GitHub package: ghcr.io/roadrunner-server/roadrunner:2.X.X
- Docker:
FROM ghcr.io/roadrunner-server/roadrunner:2.X.X AS roadrunner
FROM php:8.1-cli
COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr
# USE THE RR
- CLI
$ composer require spiral/roadrunner:v2.0 nyholm/psr7
$ ./vendor/bin/rr get-binary
- Ubuntu (Debian-derivatives):
bash $ wget https://github.com/roadrunner-server/roadrunner/releases/download/v2.X.X/roadrunner-2.X.X-linux-amd64.deb $ sudo dpkg -i roadrunner-2.X.X-linux-amd64.deb
Configuration can be located in .rr.yaml
file (full sample):
# configuration version: https://roadrunner.dev/docs/beep-beep-config/2.x/en
version: '2.7'
rpc:
listen: tcp://127.0.0.1:6001
server:
command: "php worker.php"
http:
address: "0.0.0.0:8080"
logs:
level: error
Read more in Documentation.
Example Worker:
<?php
use Spiral\RoadRunner;
use Nyholm\Psr7;
include "vendor/autoload.php";
$worker = RoadRunner\Worker::create();
$psrFactory = new Psr7\Factory\Psr17Factory();
$worker = new RoadRunner\Http\PSR7Worker($worker, $psrFactory, $psrFactory, $psrFactory);
while ($req = $worker->waitRequest()) {
try {
$rsp = new Psr7\Response();
$rsp->getBody()->write('Hello world!');
$worker->respond($rsp);
} catch (\Throwable $e) {
$worker->getWorker()->error((string)$e);
}
}
Available Plugins: link
Run:
To run application server:
$ ./rr serve
License:
The MIT License (MIT). Please see [LICENSE
](./LICENSE) for more information. Maintained
by Spiral Scout.
Contributors
Thanks to all the people who already contributed!
*Note that all licence references and agreements mentioned in the RoadRunner README section above
are relevant to that project's source code only.