{"id":13828096,"url":"https://github.com/firevel/firevel","last_synced_at":"2025-09-02T11:14:57.482Z","repository":{"id":34857606,"uuid":"184703658","full_name":"firevel/firevel","owner":"firevel","description":"100% serverless Laravel Framework","archived":false,"fork":false,"pushed_at":"2025-08-26T14:58:32.000Z","size":650,"stargazers_count":307,"open_issues_count":0,"forks_count":12,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-08-26T19:59:00.290Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Blade","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/firevel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-05-03T05:33:13.000Z","updated_at":"2025-07-27T19:57:29.000Z","dependencies_parsed_at":"2024-08-04T09:07:49.384Z","dependency_job_id":"e122ec67-d40c-4534-863f-06abaa0b02ae","html_url":"https://github.com/firevel/firevel","commit_stats":{"total_commits":118,"total_committers":3,"mean_commits":"39.333333333333336","dds":"0.18644067796610164","last_synced_commit":"1526af903c00c5faea7d73a1e26601350b8b2cf4"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/firevel/firevel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firevel%2Ffirevel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firevel%2Ffirevel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firevel%2Ffirevel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firevel%2Ffirevel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firevel","download_url":"https://codeload.github.com/firevel/firevel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firevel%2Ffirevel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273273572,"owners_count":25076194,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-08-04T09:02:32.123Z","updated_at":"2025-09-02T11:14:57.428Z","avatar_url":"https://github.com/firevel.png","language":"Blade","readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://storage.googleapis.com/firevel-public/images/logo.png\"\u003e\u003c/p\u003e\n\n## About Firevel\n\nFirevel is a modified, serverless version of [Laravel 11](https://laravel.com/) designed to work inside Google App Engine PHP 8.4 standard environment, together with [Google Firestore](https://cloud.google.com/firestore/) as database and cache.\n\nIn addition to standard [Laravel Framework](https://laravel.com/) benefits it offers:\n\n- Simple, serverless setup.\n- Downscaling to zero.\n- Micro-service friendly design.\n- [Free tier eligibility](https://cloud.google.com/free/).\n- Capacity to deal with high loads.\n\n## Requirements\n\n- [Laravel Server Requirements](https://laravel.com/docs/11.x/installation#server-requirements)\n- [gRPC extension](https://cloud.google.com/php/grpc)\n- [gcloud command-line tool](https://cloud.google.com/sdk/docs/quickstarts)\n\n## Before you start\n\n- Make sure you `gcloud` is initialized using `gcloud init` command.\n- Make sure you created project at [Google Cloud Platform Console](https://console.cloud.google.com/project) and set it on your console using `gcloud config set project PROJECT_ID`.\n- Login to [Google Console](https://console.cloud.google.com/) find [Firesore section](https://console.cloud.google.com/firestore) and make sure that your project is running on [Native mode](`https://cloud.google.com/datastore/docs/firestore-or-datastore`). If your project is already using Datastore mode you might need to create a new project.\n\n## Installation\n\n1) Create a project in the [Google Cloud Platform Console](https://console.cloud.google.com/project)\n\n2) [Install](https://cloud.google.com/sdk/docs/quickstarts) and initialize (`gcloud init`) [gcloud command-line tool](https://cloud.google.com/sdk/gcloud)\n\n3) Create firevel project with `composer create-project firevel/firevel`\n\n4) Generate your `app.yaml` file using `php artisan firevel:generate app.yaml`\n\n4) Deploy project with `gcloud beta app deploy`\n\nFirevel does not require any credentials while running inside App Engine. If you like to run it locally you will also need to set `GOOGLE_CLOUD_PROJECT` and `GOOGLE_APPLICATION_CREDENTIALS` .env variables. You might also need to enable App Engine Admin API.\n\n## Local Development with Docker and Buildpacks\n\n### Building the Image\n\nTo replicate the production environment for local development, you can utilize Buildpacks. Use the [pack](https://buildpacks.io/docs/tools/pack/) command with specific environment variables:\n\n```bash\npack build your_image_name --env=GOOGLE_COMPOSER_ARGS=--dev --builder=gcr.io/buildpacks/builder:v1\n```\n\nOnce the image is built, it can be integrated with Docker, typically through a `docker-compose.yaml` file.\n\n### Configuration\n\nYou can configure PHP extensions for development mode using the `php.local.ini` file. This allows for customized behavior during local development.\n\n### Accessing the Container Environment\n\nTo execute PHP commands within the container, use the `/cnb/lifecycle/launcher`. For instance:\n\n```bash\n/cnb/lifecycle/launcher php route:list\n```\n\nFor those looking to utilize Composer within the container, it comes pre-installed. Access it with:\n\n```bash\n/cnb/lifecycle/launcher php vendor/bin/composer\n```\n\n### Laravel Tinker\n\nTo run Laravel Tinker, execute the following command:\n\n```bash\n/cnb/lifecycle/launcher php artisan tinker\n```\n\nFor MacBook users, ensure the `TERM` variable is set correctly. As an example:\n\n```bash\ndocker exec -e TERM=$TERM -it your_container_name /cnb/lifecycle/launcher php artisan tinker\n```\n\n\n## Differences between [Laravel](https://laravel.com) and Firevel.\n\nFirevel is a Laravel 11 after small updates and packages installation:\n- [Firestore Session driver](https://github.com/firevel/firestore-session-driver)\n- [Firestore Cache driver](https://github.com/firevel/firestore-cache-driver)\n- [Laravel Firestore wrapper](https://github.com/firevel/firestore)\n\n## Usage\n\nYou can use Firevel in the same way you use Laravel. Be aware of [Firebase limits](https://firebase.google.com/docs/firestore/quotas) and [Google App Engine limits](https://cloud.google.com/appengine/docs/standard/php7/runtime).\n\n### File Storage\nBy default Firevel running inside App Engine is using [Google Cloud Storage file system](https://github.com/Superbalist/laravel-google-cloud-storage), and  `{GOOGLE_CLOUD_PROJECT}.appspot.com/services/{GAE_SERVICE}/storage/` path.\n\n\n### Logging\n\nIf you are using `app.yaml` generated by `firevel:generate app` your logs going to be stored in Stackdriver.\n\n\n### Artisan\n\nTo run artisan commands inside serverless containers, install https://github.com/firevel/artisan.\n\n### Workers\n\nIf you are going to use serverless workers, install https://github.com/firevel/cloud-tasks-queue-driver.\n\n## Roadmap\n- CI generator as separate package.\n- Improved MySQL handling (socket connections + passwordless authentication).\n\n## More\n- [Serverless PHP on App Engine + Cloud Firestore with Firevel](https://medium.com/firebase-developers/serverless-php-on-app-engine-firestore-c22a119dc608)\n- [App Engine documentation](https://cloud.google.com/appengine/docs/standard/php7/)\n- [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/php7/how-requests-are-routed)\n- [Get to know Cloud Firestore](https://www.youtube.com/watch?v=v_hR4K4auoQ\u0026list=PLl-K7zZEsYLluG5MCVEzXAQ7ACZBCuZgZ)\n\n## Credits\n- [Taylor Otwell](https://medium.com/@taylorotwell) - for building Laravel.\n- [SpringboardVR](https://springboardvr.com/) - for allowing this project to happen by providing initial production case.\n- [Google Cloud](https://cloud.google.com/) - for building great products.\n","funding_links":[],"categories":["PHP","Blade"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirevel%2Ffirevel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirevel%2Ffirevel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirevel%2Ffirevel/lists"}