PHPackages                             jonpugh/director - 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. jonpugh/director

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

jonpugh/director
================

DevOps Command &amp; Control

24[6 issues](https://github.com/jonpugh/director/issues)PHP

Since Mar 21Pushed 10y ago2 watchersCompare

[ Source](https://github.com/jonpugh/director)[ Packagist](https://packagist.org/packages/jonpugh/director)[ RSS](/packages/jonpugh-director/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Director
========

[](#director)

Director is a console tool for orchestrating your server &amp; your software.

Coupled with Ansible, Director makes it easy to track and manage large numbers of servers.

More coming soon.

Current Commands
----------------

[](#current-commands)

- status

    Outputs the current servers and apps in the registry.
- server:add

    Adds a server to the registry.
- app:add

    Adds an app to the registry.
- app:update

    Update the apps information.
- app:init

    Clones the app's source code to the desired path.

Next Steps
----------

[](#next-steps)

- role:add

    Adds a role to the registry. Adds the role to .playbook.yml
- server:assign

    Assigns a role to a server. Adds the server to .inventory
- server:unassign

    Unassigns a role to a server. Removes the server from .inventory
- director:direct

    Runs ansible-playbook using current .playbook.yml and .inventory. Updates all of the servers.

Notes
=====

[](#notes)

Vars files may be included for a server during it's direct run:

Add "vars\_files" to the `config/servers.yml` file

======= Installation
--------------------

[](#installation)

1. Install PHP CLI.
2. Install Composer:

```
curl -sS https://getcomposer.org/installer | php

```

3. Manually install Director: For now we recommend installing it manually as we polish it up for release into packagist:
4. Git clone to your favorite local projects folder: `    cd ~/Projects     git clone git@github.com:jonpugh/director.git    `
5. Go into director folder and run `composer intall`.
6. Either:

```
a. Add a symlink from ~/Projects/director/director to /usr/local/bin or /usr/bin.
b. Add it to your PATH variable

```

We are still working on getting director to work out of the box.

These environment variables are needed after you clone this repo and run `composer install`:

PATH=$PATH:/vagrant/director/vendor/bin:/vagrant/director

export PYTHONPATH=/vagrant/director/vendor/jonpugh/ansible/lib: export ANSIBLE\_LIBRARY=/vagrant/director/vendor/jonpugh/ansible/library export MANPATH=/vagrant/director/vendor/jonpugh/ansible/docs/man: export ANSIBLE\_HOSTS=/vagrant/director/inventory

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/10539fb9e887c35b626eba70c97dd9d53ba14e987d4f129b55a488664a834eca?d=identicon)[jonpugh](/maintainers/jonpugh)

---

Top Contributors

[![jonpugh](https://avatars.githubusercontent.com/u/106420?v=4)](https://github.com/jonpugh "jonpugh (160 commits)")

### Embed Badge

![Health badge](/badges/jonpugh-director/health.svg)

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

###  Alternatives

[deployer/deployer

Deployment Tool

11.1k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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