{"id":13616585,"url":"https://github.com/web-id-fr/radis","last_synced_at":"2025-04-10T05:52:52.019Z","repository":{"id":45653567,"uuid":"322826332","full_name":"web-id-fr/radis","owner":"web-id-fr","description":"🍥 R.A.D.I.S. — Review Apps Deployed In Seconds","archived":false,"fork":false,"pushed_at":"2023-01-27T14:50:19.000Z","size":117,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-24T07:06:59.269Z","etag":null,"topics":["laravel","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-id-fr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null},"funding":{"github":"web-id-fr"}},"created_at":"2020-12-19T10:59:41.000Z","updated_at":"2024-04-08T13:12:13.000Z","dependencies_parsed_at":"2023-01-29T21:01:16.200Z","dependency_job_id":null,"html_url":"https://github.com/web-id-fr/radis","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fradis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fradis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fradis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fradis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-id-fr","download_url":"https://codeload.github.com/web-id-fr/radis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744332,"owners_count":20988783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","php"],"created_at":"2024-08-01T20:01:30.517Z","updated_at":"2025-04-10T05:52:51.990Z","avatar_url":"https://github.com/web-id-fr.png","language":"PHP","funding_links":["https://github.com/sponsors/web-id-fr"],"categories":["PHP"],"sub_categories":[],"readme":"# Radis - Review Apps Deployed In Seconds 😎\n\n## Prerequisites\n\n* PHP 7.4 or greater\n\n## Installation\n\nRequire this package with composer. It is recommended to only require the package for development.\n\n```shell\ncomposer require webid/radis --dev\n```\n\nLaravel uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.\n\nPublish the package configuration and stubs with the publish command:\n\n```shell\nphp artisan vendor:publish --provider=\"WebId\\Radis\\RadisProvider\"\n```\n\n## Configurations\n\n### 1. Configuration\n\nYou need to start by configuring your environment variables to access forge in ``config/radis.php``\n\nFirst of all, create a new token here: https://forge.laravel.com/user/profile#/api and paste the generated copy in\nthe ``.env`` file:\n\n```.dotenv\nRADIS_TOKEN=\"my-brand-new-forge-token\"\n```\n\n```php\nreturn [\n    'forge' =\u003e [\n        'token' =\u003e env('RADIS_TOKEN'),\n        'server_name' =\u003e env('RADIS_SERVER_NAME'),\n        'server_domain' =\u003e env('RADIS_SERVER_DOMAIN'),\n        'site_php_version' =\u003e env('RADIS_SITE_VERSION', 'php80'),\n        'database_password' =\u003e env('RADIS_DATABASE_PASSWORD', 'root'),\n        'lets_encrypt_type' =\u003e env('RADIS_LETS_ENCRYPT_TYPE'),\n        'lets_encrypt_api_key' =\u003e env('RADIS_LETS_ENCRYPT_API_KEY'),\n        'timeout' =\u003e  env('RADIS_FORGE_TIMEOUT'),\n    ],\n    \n    'git_repository' =\u003e env('RADIS_GIT_REPOSITORY')\n];\n```\n\n`lets_encrypt_type` and `lets_encrypt_api_key` are not required, but it's needed for auto HTTPS. For digitalocean\nexample (https://docs.digitalocean.com/reference/api/create-personal-access-token/):\n\n```dotenv\nRADIS_LETS_ENCRYPT_TYPE=digitalocean\nRADIS_LETS_ENCRYPT_API_KEY=EXEMPLE98edb566f9917d797fba2c0b05e2f2064ad7771422740181561322961\n```\n\n**Wildcard certificates**\n\nDue 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.\n\n### 2. ``.env`` stub\n\nAfter that, you need to adapt the desired .env file for your review app by modifying the stub ``stubs/env.stub``\n\nDon't change the constants starting with ``STUB_``, they will be automatically replaced according to your configuration,\nor the parameters given to artisan commands.\n\n### 3. Deploy script stub\n\nFinally, you need to adapt the forge deployment script according to your project in the stub ``stubs/deployScript.stub``\n\n## Usage\n\n### Create a review app\n\n\u003e ⚠️ If a review app already exists with this name, it will be destroyed and recreated\n\n```shell\nphp artisan radis:create mySiteName myGitBranch\nphp artisan radis:create mySiteName myGitBranch customDatabaseName\n```\n\n### Update an existing review app\n\nThis will only launch the deploy script\n\n```shell\nphp artisan radis:update mySiteName\n```\n\n### Destroy a review app\n\n\u003e ⚠️ This will remove both database and associated user database\n\n```shell\nphp artisan radis:destroy mySiteName\n```\n\n### Update the ``.env`` file\n\n```shell\nphp artisan radis:env mySiteName\nphp artisan radis:env mySiteName customDatabaseName\n```\n\n### Update the deploy script\n\n\u003e ℹ️ It updates the script without running it\n\n```shell\nphp artisan radis:deploy-script mySiteName myGitBranch\n```\n\n## Credits\n\n- [Leo Tiollier](https://github.com/LTiollier)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-id-fr%2Fradis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb-id-fr%2Fradis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-id-fr%2Fradis/lists"}