PHPackages                             iperamuna/laravel-supervisor-manager - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. iperamuna/laravel-supervisor-manager

ActiveLibrary[Queues &amp; Workers](/categories/queues)

iperamuna/laravel-supervisor-manager
====================================

A comprehensive FilamentPHP dashboard for managing Supervisor processes and configurations in Laravel applications.

v1.2.1(3mo ago)086↓100%MITPHPPHP ^8.2

Since Jan 21Pushed 3mo agoCompare

[ Source](https://github.com/iperamuna/laravel-supervisor-manager)[ Packagist](https://packagist.org/packages/iperamuna/laravel-supervisor-manager)[ RSS](/packages/iperamuna-laravel-supervisor-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (8)Versions (6)Used By (0)

Laravel Supervisor Manager
==========================

[](#laravel-supervisor-manager)

[![Latest Version on Packagist](https://camo.githubusercontent.com/10da0e56f4a968871450dafef02827c04b62ba6d88a8dd40eb6f1b4692ca184d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f69706572616d756e612f6c61726176656c2d73757065727669736f722d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/iperamuna/laravel-supervisor-manager)[![Total Downloads](https://camo.githubusercontent.com/345e6688595f4a3b0df36b416670c71f0bd5480cf4b67798323e4eabae786976/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f69706572616d756e612f6c61726176656c2d73757065727669736f722d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/iperamuna/laravel-supervisor-manager)

A powerful **FilamentPHP** panel for managing **Supervisor** processes directly from your Laravel application.

[![Supervisor Manager Dashboard](https://raw.githubusercontent.com/iperamuna/laravel-supervisor-manager/main/art/screenshot.png)](https://raw.githubusercontent.com/iperamuna/laravel-supervisor-manager/main/art/screenshot.png)

✨ Features
----------

[](#-features)

- **Dashboard Overview**: View real-time status of your Supervisor instance and all processes.
- **Smart Process Control**:
    - **Global Controls**: Start, Stop, or Restart **all** processes with a single click from the status widget.
    - **Contextual Actions**: Configuration cards automatically toggle between Start and Stop actions based on the process state.
- **Log Viewer**: View `stdout` and `stderr` logs live in a modal (tailing the last 10KB of output).
- **Configuration Manager**:
    - Manage `.conf` files directly from the UI.
    - Sync configurations to your system's Supervisor directory.
    - Deploy changes (reread/update) via the UI.
    - Detect orphaned (system-only) or unsynced (local-only) configurations.
- **Filament Powered**: Built with Filament V3/V4, offering a beautiful, responsive, and dark-mode compatible UI.
- **Secure**: Uses XML-RPC to communicate with Supervisor (localhost only recommended).

🚀 Installation
--------------

[](#-installation)

You can install the package via composer:

```
composer require iperamuna/laravel-supervisor-manager
```

After installing, run the installation command to publish assets and configure the connection:

```
php artisan supervisor-manager:install
```

This command will prompt you for:

1. The **URL path** for the dashboard (default: `supervisor`).
2. The **Supervisor XML-RPC** credentials (URL, Port, Username, Password).

⚙️ Configuration
----------------

[](#️-configuration)

### 1. Enabling XML-RPC in Supervisor

[](#1-enabling-xml-rpc-in-supervisor)

For this package to work, you must enable the HTTP server in your `supervisord.conf` file (usually in `/etc/supervisord.conf` or `/etc/supervisor/supervisord.conf`).

Add or uncomment the following section:

```
[inet_http_server]
port=127.0.0.1:9125
username=user
password=strongpass
```

> **⚠️ Security Warning**: Only bind to `127.0.0.1` to prevent external access. This interface gives full control over your processes.

### 2. Secure File Copy Setup (Recommended)

[](#2-secure-file-copy-setup-recommended)

The package uses a **secure architecture** to handle supervisor configuration files:

#### How It Works

[](#how-it-works)

```
Laravel writes here (your project):
storage/supervisors/laravel-queue.conf
         ↓
Laravel calls secure script with sudo:
sudo /usr/local/bin/supervisor-copy
         ↓
Script copies to system directory:
/opt/homebrew/etc/supervisor.d/laravel-queue.conf
         ↓
Script runs: supervisorctl reread && supervisorctl update

```

**Why This Approach?**

- ✅ Laravel never needs write access to system directories
- ✅ Controlled sudo access to a single, auditable script
- ✅ Automatic reread/update after deployment
- ✅ Works on macOS (Homebrew) and Linux systems

#### Automated Setup

[](#automated-setup)

Run the included setup script:

```
cd vendor/iperamuna/laravel-supervisor-manager/scripts
bash setup-secure-copy.sh
```

This will:

1. Install the copy script to `/usr/local/bin/supervisor-copy`
2. Guide you through sudoers configuration
3. Test the setup automatically

#### Manual Setup

[](#manual-setup)

If you prefer manual installation:

**Step 1:** Install the copy script

```
sudo cp vendor/iperamuna/laravel-supervisor-manager/scripts/supervisor-copy /usr/local/bin/
sudo chmod +x /usr/local/bin/supervisor-copy
```

**Step 2:** Configure sudoers

```
sudo visudo
```

Add this line (replace `your-username` with your actual user):

```
your-username ALL=(root) NOPASSWD: /usr/local/bin/supervisor-copy *

```

For **Laravel Herd** on macOS, use your Mac username:

```
iperamuna ALL=(root) NOPASSWD: /usr/local/bin/supervisor-copy *

```

For **production servers**, use your web server user:

```
www-data ALL=(root) NOPASSWD: /usr/local/bin/supervisor-copy *

```

**Step 3:** Update your `.env`

```
SUPERVISOR_SYSTEM_USER=your-username
SUPERVISOR_CONF_PATH=/opt/homebrew/etc/supervisor.d  # or /etc/supervisor/conf.d
SUPERVISOR_USE_SECURE_COPY=true
SUPERVISOR_LOCAL_DIR=/path/to/your/project/supervisors
```

#### Legacy Mode (Not Recommended)

[](#legacy-mode-not-recommended)

If you can't use the secure copy script, you can disable it:

```
SUPERVISOR_USE_SECURE_COPY=false
```

**Note**: This requires your web server user to have write permissions to the supervisor directory, which is a security risk.

🛡️ Access Control
-----------------

[](#️-access-control)

By default, the package uses `App\Models\User` in the configuration. To control who can access the dashboard, ensure your User model implements `FilamentUser` and defines the `canAccessPanel` method, or configure a different user model in `config/supervisor-manager.php`.

```
// app/Models/User.php
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;

class User extends Authenticatable implements FilamentUser
{
    public function canAccessPanel(Panel $panel): bool
    {
        return $this->email === 'admin@example.com';
    }
}
```

🔧 Usage
-------

[](#-usage)

Visit the dashboard at `/supervisor` (or your configured path).

### Managing Processes

[](#managing-processes)

- **Global Control**: The status widget (top right) allows you to **Start All**, **Stop All**, or **Restart** the supervisor daemon.
- **Smart Toggle**: The status widget automatically hides the "Start All" button if processes are running, keeping the UI clean.
- **Process Cards**: Use the **Restart** button on any process card to restart it individually.
- **Logs**: Click **LOGS** or **ERR** on a process card to view the latest log output.

### Managing Configurations

[](#managing-configurations)

- Navigate to the **Configurations** page.
- **Create** new configurations locally.
- **Sync** them to the system directory (`/etc/supervisor/conf.d` by default).
- **Deploy** changes to reload the Supervisor daemon.
- **Start/Stop**: Each configuration card features a smart **Start/Stop** button that reflects the current running state of the process group.

🛠️ Development
--------------

[](#️-development)

If you are contributing to the package and need to update the styles:

1. Install dependencies:

```
composer install
```

2. Build the Tailwind assets:

```
composer build
```

🤝 Contributing
--------------

[](#-contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

📄 License
---------

[](#-license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance79

Regular maintenance activity

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

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

Every ~0 days

Total

4

Last Release

110d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e7f282b7449477d5baaf64bdb40fcb7d9c8c638fb96a431413c7293344e3182f?d=identicon)[iperamuna](/maintainers/iperamuna)

---

Top Contributors

[![iperamuna](https://avatars.githubusercontent.com/u/3013395?v=4)](https://github.com/iperamuna "iperamuna (34 commits)")

---

Tags

laraveluiqueueworkerfilamentsupervisorprocess manager

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/iperamuna-laravel-supervisor-manager/health.svg)

```
[![Health](https://phpackages.com/badges/iperamuna-laravel-supervisor-manager/health.svg)](https://phpackages.com/packages/iperamuna-laravel-supervisor-manager)
```

###  Alternatives

[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

254255.2k6](/packages/croustibat-filament-jobs-monitor)[foxxmd/laravel-elasticbeanstalk-queue-worker

Deploy your Laravel application as a queue worker on AWS ElasticBeanstalk

5493.5k](/packages/foxxmd-laravel-elasticbeanstalk-queue-worker)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

3786.5k](/packages/harris21-laravel-fuse)[pierophp/laravel-queue-manager

Laravel Queue Manager

182.4k](/packages/pierophp-laravel-queue-manager)

PHPackages © 2026

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