PHPackages                             netlogix/supervisor - 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. [CLI &amp; Console](/categories/cli)
4. /
5. netlogix/supervisor

ActiveNeos-package[CLI &amp; Console](/categories/cli)

netlogix/supervisor
===================

Create supervisor program groups and programs via CLI.

1.1.3(1y ago)0286.1k↑62.8%1MITPHPCI passing

Since Nov 19Pushed 1y ago3 watchersCompare

[ Source](https://github.com/netlogix/Netlogix.Supervisor)[ Packagist](https://packagist.org/packages/netlogix/supervisor)[ RSS](/packages/netlogix-supervisor/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (7)Dependencies (1)Versions (9)Used By (1)

Netlogix.Supervisor
===================

[](#netlogixsupervisor)

This package creates supervisor configuration files via flow CLI.

Configuration files are named "group-something.conf" when they contain a supervisor group configuration or "program-something.conf" when they contain a supervisor program configuration. Both are created at Configuration/Supervisor within your application.

Setup:
------

[](#setup)

Supervisor allows to "include" other files and even allows for globbing.

```
# cat /etc/supervisor/supervisord.conf
[include]
files=/etc/supervisor/conf.d/*.conf /var/www/*/Configuration/Supervisor/group.conf /var/www/*/Configuration/Supervisor/program*.conf

```

Creating supervisor files dynamically is intended to be a compile time step, preferably on deployment.

Available configuration options:
--------------------------------

[](#available-configuration-options)

Program settings get passed to the supervisor configuration file without validation, so every current and future configuration option is available.

See:

Available flow commands:
------------------------

[](#available-flow-commands)

```
./flow supervisor:create          Creates supervisor configuration
./flow supervisor:startgroups     Starts all programs of configured groups
./flow supervisor:stopgroups      Stops all programs of configured groups
./flow supervisor:updategroups    Reloads config and starts/stops programs accordingly

```

Create supervisor settings via YAML:
------------------------------------

[](#create-supervisor-settings-via-yaml)

Although supervisor programs can be created entirely via yaml, those are basically static because the yaml configuration format does not provide iteration or dynamic construction mechanisms.

```
Netlogix:
    Supervisor:

        programs:

            changes-command-controller-polling-action:

                command: './flow changes:poll ; sleep 5'
                name: 'this-is-a-program'
                environment: "FLOW_CONTEXT='%env:FLOW_CONTEXT%'"
                directory: "%FLOW_PATH_ROOT%"
```

For more details: See Configuration/Settings.yaml.example

Create supervisor settings via PHP:
-----------------------------------

[](#create-supervisor-settings-via-php)

There is a `Provider` interface which allows other packages to hook an and create Supervisor `Program` settings in a completely programmatic manner.

```
class Provider implements \Netlogix\Supervisor\Provider
{
    /**
     * @return array
     */
    public function getPrograms(): array
    {
        $name = 'this-is-a-program';
        $groupName = 'default';
        $command = './flow changes:poll ; sleep 5';
        $programSettings = [
            'environment' =>  \sprintf(
                "FLOW_CONTEXT='%s'",
                Bootstrap::getEnvironmentConfigurationSetting('FLOW_CONTEXT') ?: 'Development'
            ),
            'directory' => \FLOW_PATH_ROOT
        ];
        return [
            new \Netlogix\Supervisor\Model\Program(
                $name,
                $groupName,
                $command,
                $programSettings
            );
        ];
    }
}
```

Configure group settings:
-------------------------

[](#configure-group-settings)

Groups are created on demand as soon as a program assigns itself to the group. This means groups don't need to be configured beforehand or even at all.

If no further configuration is presented, the supervisor group name is generated from the "groupName" configuration option of a program.

Groups can override their names. This menas several programs can e.g. refer to the same group "default" but the group can be renamed if different applications share a common supervisor daemon.

This setting also provides a priority setting.

```
Netlogix:
  Supervisor:

    groups:
      default:
        name: "%FLOW_PATH_ROOT%"
        priority: 200
```

Renamed identifiers:
--------------------

[](#renamed-identifiers)

Both, group names and program names need to be cleaned to comply with supervisors naming scheme. This is done automatically, so even if the group name is configured as `%FLOW_PATH_ROOT%` it will be transformed to `var-www-document-root`.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.3% 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 ~167 days

Recently: every ~181 days

Total

7

Last Release

655d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/667b5107f4c2ea180baa00166c2ee3f2a1b412ce22768d6e81bb09323d1c7fe0?d=identicon)[netlogix](/maintainers/netlogix)

![](https://www.gravatar.com/avatar/124704a0d41c6364ac5773df0c9bedc3a85f902f0826df5f12ff2a4b2a06d520?d=identicon)[paxuclus](/maintainers/paxuclus)

![](https://avatars.githubusercontent.com/u/1595908?v=4)[Stephan Schuler](/maintainers/stephanschuler)[@stephanschuler](https://github.com/stephanschuler)

---

Top Contributors

[![stephanschuler](https://avatars.githubusercontent.com/u/1595908?v=4)](https://github.com/stephanschuler "stephanschuler (19 commits)")[![paxuclus](https://avatars.githubusercontent.com/u/15905038?v=4)](https://github.com/paxuclus "paxuclus (7 commits)")[![tweis](https://avatars.githubusercontent.com/u/63323?v=4)](https://github.com/tweis "tweis (4 commits)")

---

Tags

flowsupervisorsupervisord

### Embed Badge

![Health badge](/badges/netlogix-supervisor/health.svg)

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

###  Alternatives

[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24726.4M22](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

13045.3M6.1k](/packages/illuminate-console)[neos/neos

An open source Content Application Platform based on Flow. A set of core Content Management features is resting within a larger context that allows you to build a perfectly customized experience for your users.

1131.0M734](/packages/neos-neos)[sitegeist/magicwand

Tools that make the Flow/Neos development easier

46194.6k3](/packages/sitegeist-magicwand)[neos/media

The Media package

101.2M49](/packages/neos-media)

PHPackages © 2026

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