Official Website | Documentation | Forum | Release schedule | Ask RoadRunner Guru
# Installation The easiest way to get the latest RoadRunner version is to use one of the pre-built release binaries, which are available for OSX, Linux, FreeBSD, and Windows. Instructions for using these binaries are on the GitHub [releases page](https://github.com/roadrunner-server/roadrunner/releases). ## Docker: Use `ghcr.io/roadrunner-server/roadrunner:3.0.0` to copy the RoadRunner binary into your application image. See the [image tags](https://github.com/roadrunner-server/roadrunner/pkgs/container/roadrunner). ```dockerfile FROM ghcr.io/roadrunner-server/roadrunner:3.0.0 AS roadrunner FROM php:8.3-cli COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr # USE THE RR ``` Configuration located in the `.rr.yaml` file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)): ## Installation via Composer You can also install RoadRunner automatically using the command shipped with the composer package, run: ```bash composer require spiral/roadrunner-cli ./vendor/bin/rr get-binary ``` Server binary will be available at the root of your project. > **Note** > > PHP's extensions `php-curl` and `php-zip` are required to download RoadRunner automatically. > PHP's extensions `php-sockets` need to be installed to run roadrunner. > Check with `php --modules` your installed extensions. ## Installation option for the Debian-derivatives (Ubuntu, Mint, MX, etc) ```bash wget https://github.com/roadrunner-server/roadrunner/releases/download/v3.0.0/roadrunner-3.0.0-linux-amd64.deb sudo dpkg -i roadrunner-3.0.0-linux-amd64.deb ``` ## Download the latest release via curl: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh ``` ## MacOS using [Homebrew](https://brew.sh/): ```bash brew install roadrunner ``` ## Windows using [Chocolatey](https://community.chocolatey.org/): ```bash choco install roadrunner ``` --- Configuration can be located in `.rr.yaml` file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)): ```yaml version: '3' 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](https://docs.roadrunner.dev). Example Worker: -------- ```php waitRequest()) { try { $rsp = new Psr7\Response(); $rsp->getBody()->write('Hello world!'); $worker->respond($rsp); } catch (\Throwable $e) { $worker->getWorker()->error((string)$e); } } ``` > [!IMPORTANT] > If you see the `EOF` error, check that you have installed the PHP packages from [this step](https://github.com/roadrunner-server/roadrunner#installation-via-composer). > If this does not help, try to execute the command `php worker.php` directly and check the output. --- ### Available Plugins: [link](https://docs.roadrunner.dev) Run: ---- To run application server: ``` $ ./rr serve -c .rr.yaml ``` License: -------- The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information. Maintained by [Spiral Scout](https://spiralscout.com). ## Releases [Release Please](https://github.com/googleapis/release-please) updates a release PR on `master` from [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). It updates `CHANGELOG.md` and `.release-please-manifest.json`. Merge the release PR to create the tag and GitHub release. The release workflows then build the binaries, Debian packages, gRPC compiler, and container images. Re-run failed jobs if a build fails. ## Contributors Thanks to all the people who already contributed!