PHPackages                             webid/radis - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. webid/radis

ActiveProject

webid/radis
===========

Radis - Rewiew Apps Deployed In Seconds

0.0.22(3y ago)1238.9k↓50%1[1 issues](https://github.com/web-id-fr/radis/issues)MITPHPPHP ^7.4|^8.0

Since Dec 19Pushed 3y ago8 watchersCompare

[ Source](https://github.com/web-id-fr/radis)[ Packagist](https://packagist.org/packages/webid/radis)[ GitHub Sponsors](https://github.com/web-id-fr)[ RSS](/packages/webid-radis/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (23)Used By (0)

Radis - Review Apps Deployed In Seconds 😎
=========================================

[](#radis---review-apps-deployed-in-seconds-)

Prerequisites
-------------

[](#prerequisites)

- PHP 7.4 or greater

Installation
------------

[](#installation)

Require this package with composer. It is recommended to only require the package for development.

```
composer require webid/radis --dev
```

Laravel uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.

Publish the package configuration and stubs with the publish command:

```
php artisan vendor:publish --provider="WebId\Radis\RadisProvider"
```

Configurations
--------------

[](#configurations)

### 1. Configuration

[](#1-configuration)

You need to start by configuring your environment variables to access forge in `config/radis.php`

First of all, create a new token here:  and paste the generated copy in the `.env` file:

```
RADIS_TOKEN="my-brand-new-forge-token"

```

```
return [
    'forge' => [
        'token' => env('RADIS_TOKEN'),
        'server_name' => env('RADIS_SERVER_NAME'),
        'server_domain' => env('RADIS_SERVER_DOMAIN'),
        'site_php_version' => env('RADIS_SITE_VERSION', 'php80'),
        'database_password' => env('RADIS_DATABASE_PASSWORD', 'root'),
        'lets_encrypt_type' => env('RADIS_LETS_ENCRYPT_TYPE'),
        'lets_encrypt_api_key' => env('RADIS_LETS_ENCRYPT_API_KEY'),
        'timeout' =>  env('RADIS_FORGE_TIMEOUT'),
    ],

    'git_repository' => env('RADIS_GIT_REPOSITORY')
];
```

`lets_encrypt_type` and `lets_encrypt_api_key` are not required, but it's needed for auto HTTPS. For digitalocean example ():

```
RADIS_LETS_ENCRYPT_TYPE=digitalocean
RADIS_LETS_ENCRYPT_API_KEY=EXEMPLE98edb566f9917d797fba2c0b05e2f2064ad7771422740181561322961
```

**Wildcard certificates**

Due to Let's Encrypt limitations about making too many certificates on a registered domain [(50 per week)](https://letsencrypt.org/docs/rate-limits/), if a [wildcard certificate is set up](https://medium.com/@taylorotwell/wildcard-letsencrypt-certificates-on-forge-d3bdec43692a) on the parent site on Forge, it will be automatically used for the review apps instead of creating a new specific one.

### 2. `.env` stub

[](#2-env-stub)

After that, you need to adapt the desired .env file for your review app by modifying the stub `stubs/env.stub`

Don't change the constants starting with `STUB_`, they will be automatically replaced according to your configuration, or the parameters given to artisan commands.

### 3. Deploy script stub

[](#3-deploy-script-stub)

Finally, you need to adapt the forge deployment script according to your project in the stub `stubs/deployScript.stub`

Usage
-----

[](#usage)

### Create a review app

[](#create-a-review-app)

> ⚠️ If a review app already exists with this name, it will be destroyed and recreated

```
php artisan radis:create mySiteName myGitBranch
php artisan radis:create mySiteName myGitBranch customDatabaseName
```

### Update an existing review app

[](#update-an-existing-review-app)

This will only launch the deploy script

```
php artisan radis:update mySiteName
```

### Destroy a review app

[](#destroy-a-review-app)

> ⚠️ This will remove both database and associated user database

```
php artisan radis:destroy mySiteName
```

### Update the `.env` file

[](#update-the-env-file)

```
php artisan radis:env mySiteName
php artisan radis:env mySiteName customDatabaseName
```

### Update the deploy script

[](#update-the-deploy-script)

> ℹ️ It updates the script without running it

```
php artisan radis:deploy-script mySiteName myGitBranch
```

Credits
-------

[](#credits)

- [Leo Tiollier](https://github.com/LTiollier)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~87 days

Total

22

Last Release

1285d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cefb02231110e801ec332d70b4bb7f1df97a12f095e0c1ea887d3273d74cde78?d=identicon)[web-id](/maintainers/web-id)

---

Top Contributors

[![LTiollier-WebID](https://avatars.githubusercontent.com/u/32257844?v=4)](https://github.com/LTiollier-WebID "LTiollier-WebID (35 commits)")[![tentacode](https://avatars.githubusercontent.com/u/550548?v=4)](https://github.com/tentacode "tentacode (28 commits)")[![LTiollier](https://avatars.githubusercontent.com/u/16253697?v=4)](https://github.com/LTiollier "LTiollier (7 commits)")[![jelore](https://avatars.githubusercontent.com/u/5576976?v=4)](https://github.com/jelore "jelore (4 commits)")[![rygilles](https://avatars.githubusercontent.com/u/7666960?v=4)](https://github.com/rygilles "rygilles (4 commits)")

---

Tags

laravelphplaravel-packageforgeforge-review

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/webid-radis/health.svg)

```
[![Health](https://phpackages.com/badges/webid-radis/health.svg)](https://phpackages.com/packages/webid-radis)
```

###  Alternatives

[lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users.

2.3k16.4M48](/packages/lab404-laravel-impersonate)[realrashid/sweet-alert

Laravel Sweet Alert Is A Package For Laravel Provides An Easy Way To Display Alert Messages Using The SweetAlert2 Library.

1.2k2.9M21](/packages/realrashid-sweet-alert)[ashallendesign/short-url

A Laravel package for creating shortened URLs for your web apps.

1.4k1.9M4](/packages/ashallendesign-short-url)[bavix/laravel-wallet

It's easy to work with a virtual wallet.

1.3k1.1M11](/packages/bavix-laravel-wallet)[laravel/forge-sdk

The official Laravel Forge PHP SDK.

5691.1M18](/packages/laravel-forge-sdk)[usernotnull/tall-toasts

A Toast notification library for the Laravel TALL stack. You can push notifications from the backend or frontend to render customizable toasts with almost zero footprint on the published CSS/JS!

570396.2k4](/packages/usernotnull-tall-toasts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
