PHPackages                             softpyramid/forge-status - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. softpyramid/forge-status

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

softpyramid/forge-status
========================

Real-time Laravel Forge deployment status indicator via webhooks

1.0.0(6mo ago)051MITPHPPHP ^8.2CI failing

Since Oct 23Pushed 6mo agoCompare

[ Source](https://github.com/softpyramid/forge-status)[ Packagist](https://packagist.org/packages/softpyramid/forge-status)[ RSS](/packages/softpyramid-forge-status/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (3)Used By (0)

Laravel Forge Webhook Status
============================

[](#laravel-forge-webhook-status)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c21ecdee5857a35978325504cce740f35a9ceb6eeabc1396f68515100f5a8eaf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736f6674707972616d69642f666f7267652d7374617475732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/softpyramid/forge-status)[![Total Downloads](https://camo.githubusercontent.com/444a5643dc241130bf8492882388e4735e552ad200aec0a4451734e5a53406da/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736f6674707972616d69642f666f7267652d7374617475732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/softpyramid/forge-status)[![Laravel Version](https://camo.githubusercontent.com/09c016367594917410695f99ae7005534e36f8f0e9a165cd87a118d6237dce0a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3130253230253743253230313125323025374325323031322d7265642e7376673f7374796c653d666c61742d737175617265)](https://laravel.com)[![PHP Version](https://camo.githubusercontent.com/6d0e63bb9482df87aa6c6ea983969a625be703cd8cfc3460c99eb1e582e6b46f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c75652e7376673f7374796c653d666c61742d737175617265)](https://php.net)

Real-time deployment status indicator for Laravel Forge using webhooks. Get instant visual feedback when your deployments start, succeed, or fail.

Features
--------

[](#features)

- 🚀 **Real-time Updates** - Simple polling-based live deployment status
- 🎯 **No Database Required** - Uses cache only for current status
- 🔗 **Webhook-driven** - Receives deployment events from Laravel Forge
- 🎨 **Auto-injection** - Automatically appears in your Laravel layouts
- ⚙️ **Configurable** - Customizable polling interval and authentication
- 🖥️ **Full-Screen Overlay** - Prominent modal-style deployment notifications
- 🎭 **Modern UI** - Beautiful Tailwind CSS styling
- 📱 **Responsive** - Works on all device sizes
- 🔧 **Zero Dependencies** - No broadcasting or WebSocket setup required

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 10, 11, or 12
- No additional dependencies required!

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

[](#installation)

```
composer require softpyramid/forge-status
```

The package will automatically register its routes and service provider. No manual configuration needed!

Configuration
-------------

[](#configuration)

### 1. Publish config (optional):

[](#1-publish-config-optional)

```
php artisan vendor:publish --tag=forge-status-config
```

### 2. Add to .env (optional):

[](#2-add-to-env-optional)

```
FORGE_WEBHOOK_TOKEN=your-secret-token
FORGE_POLL_INTERVAL=5
FORGE_AUTH_ONLY=true
```

### 3. Register Webhook in Laravel Forge

[](#3-register-webhook-in-laravel-forge)

In your Forge site settings:

1. Go to "Webhooks"
2. Add new webhook URL: `https://yourdomain.com/forge-webhook`
3. Optionally add token parameter: `https://yourdomain.com/forge-webhook?token=your-secret-token`

Usage
-----

[](#usage)

### Auto-inject into layouts

[](#auto-inject-into-layouts)

Add the component to your layout file (e.g., `resources/views/layouts/app.blade.php`):

```

```

That's it! The indicator will automatically appear when deployments start and update in real-time.

How It Works
------------

[](#how-it-works)

1. Forge sends webhook POST request when deployment starts/finishes
2. Package receives webhook and stores status in cache
3. Frontend polls the status endpoint every few seconds
4. Indicator updates automatically when status changes
5. No database storage - uses cache for current status only
6. Simple and reliable - no WebSocket complexity

Laravel Version Compatibility
-----------------------------

[](#laravel-version-compatibility)

Laravel VersionPackage VersionPHP VersionLaravel 12.x^1.0^8.2Laravel 11.x^1.0^8.2Laravel 10.x^1.0^8.1Testing
-------

[](#testing)

```
# Run tests
composer test

# Run tests with coverage
composer test-coverage
```

Testing
-------

[](#testing-1)

### Test the package functionality

[](#test-the-package-functionality)

```
# Test with success status (default)
php artisan forge-status:test

# Test with different statuses
php artisan forge-status:test --status=deploying
php artisan forge-status:test --status=success
php artisan forge-status:test --status=failed
```

This command will test all package functionality including cache storage, webhook endpoint, and status endpoint.

### Test with your data

[](#test-with-your-data)

```
# Test with the provided data
php artisan forge-status:test --status=success
```

Then open your Laravel app in the browser to see the overlay in action!

Debugging
---------

[](#debugging)

### Check if routes are registered

[](#check-if-routes-are-registered)

```
php artisan forge-status:routes
```

This command will show you all registered Forge Status routes and verify they're working correctly.

### Manual route discovery

[](#manual-route-discovery)

If routes aren't auto-registered, run:

```
php artisan package:discover
```

Troubleshooting
---------------

[](#troubleshooting)

### Laravel 12 Compatibility Issues

[](#laravel-12-compatibility-issues)

If you encounter issues with Laravel 12, ensure you have:

1. **PHP 8.2+** installed
2. **Updated dependencies** - run `composer update`
3. **Cleared caches** - run `php artisan config:clear && php artisan cache:clear`

### Polling Not Working

[](#polling-not-working)

Make sure you have:

1. **Polling interval** configured in your `.env`:

    ```
    FORGE_POLL_INTERVAL=5
    ```
2. **Status endpoint** is accessible at `/forge-status`
3. **Cache is working** - check your cache configuration

### Webhook Not Receiving Data

[](#webhook-not-receiving-data)

Verify:

1. **Webhook URL** is correctly registered in Laravel Forge
2. **Token verification** is properly configured (if using)
3. **Route is accessible** - check `/forge-webhook` endpoint

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) file for details.

Author
------

[](#author)

**Fakhar Zaman Khan** - [SoftPyramid](https://github.com/softpyramid)

Contributing
------------

[](#contributing)

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance66

Regular maintenance activity

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

207d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7f10c61af65ddb95f6c02a166813dbaa8422419a0209b4b0de29234133329dff?d=identicon)[fakharkhan](/maintainers/fakharkhan)

---

Top Contributors

[![fakharkhan](https://avatars.githubusercontent.com/u/1877752?v=4)](https://github.com/fakharkhan "fakharkhan (6 commits)")

---

Tags

laravelreal-timewebhookstatusdeploymentindicatorforge

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/softpyramid-forge-status/health.svg)

```
[![Health](https://phpackages.com/badges/softpyramid-forge-status/health.svg)](https://phpackages.com/packages/softpyramid-forge-status)
```

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[timokoerber/laravel-one-time-operations

Run operations once after deployment - just like you do it with migrations!

6481.7M11](/packages/timokoerber-laravel-one-time-operations)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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