PHPackages                             friemt/deployer-tasks - 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. friemt/deployer-tasks

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

friemt/deployer-tasks
=====================

Additional and enhanced tasks not available for Deployer out of the box.

1.3.0(1y ago)111.6k↓24.1%3MITPHPPHP &gt;=7.4

Since Sep 20Pushed 1y ago1 watchersCompare

[ Source](https://github.com/friemt/deployer-tasks)[ Packagist](https://packagist.org/packages/friemt/deployer-tasks)[ RSS](/packages/friemt-deployer-tasks/feed)WikiDiscussions develop Synced yesterday

READMEChangelog (9)Dependencies (2)Versions (10)Used By (0)

Additional tasks for Deployer
=============================

[](#additional-tasks-for-deployer)

Additional and enhanced tasks not available for [Deployer](https://github.com/deployphp/deployer) out of the box.

Installation
============

[](#installation)

```
composer require friemt/deployer-tasks
```

Usage
=====

[](#usage)

Either include the recipe or task and the respective configuration to your deployer file.

crontab
-------

[](#crontab)

Syncs configured cronjobs to the target systems.

```
# deploy.php
# ...

import('recipe/crontab.php');
# or
import('task/crontab.php');

# See `src/examples/crontab.yaml` for a yaml based example file.
import(__DIR__ . '//crontab.yaml');

# When using the task instead of the recipe, add the sync task to the deployment manually:
after('deploy:symlink', 'crontab:sync');
```

### variables

[](#variables)

variabledescriptiondefaultbin/crontabpath to the crontab binary on the target system`which crontab`crontab\_backuppath where the backup should be placed`{{deploy_path}}/.dep/crontab.bak`crontab\_markera string used to identify the deployment across target systems and stages`{{application}} {{crontab_stage}}`crontab\_stagea string to differentiate multiple deployments on the same target system`host.labels.stage`crontab\_userthe user to use with crontabs `-u` option`host.remote_user`crontab\_target\_lookupa list of labels to determine the target systems`host.alias`, `host.hostname`, `host.labels.stage`### tasks

[](#tasks)

taskdescriptioncrontab:checkchecks the target system against the configuration and displays any differencescrontab:syncsyncs the configuration to the target system, adding, updating and deleting entriesrunonce
-------

[](#runonce)

Runs a defined command on the target system once and only once.

```
# deploy.php
# ...

import('recipe/runonce.php');
# or
import('task/runonce.php');

# See `src/examples/runonce.yaml` for a yaml based example file.
import(__DIR__ . '//runonce.yaml');

# When using the task instead of the recipe, add the run task to the deployment manually:
after('deploy:symlink', 'runonce:run');
```

### variables

[](#variables-1)

variabledescriptiondefaultrunonce\_historypath where the history should be placed`{{deploy_path}}/.dep/runonce_log`runonce\_target\_lookupa list of labels to determine the target systems`host.alias`, `host.hostname`, `host.labels.stage`### tasks

[](#tasks-1)

taskdescriptionrunonce:checkchecks the target system against the configuration and displays any differencesrunonce:runchecks which commands have already run and runs any differences, also retries commands marked for retrytemplate
--------

[](#template)

Copy files to the target system after replacing deployer placeholders.

```
# deploy.php
# ...

import('recipe/template.php');
# or
import('task/template.php');

# See `src/examples/template.yaml` for a yaml based example file.
import(__DIR__ . '//template.yaml');

# When using the task instead of the recipe, add the sync task to the deployment manually:
after('deploy:symlink', 'template:sync');
```

### variables

[](#variables-2)

variabledescriptiondefaulttemplate\_historypath where the history should be placed`{{deploy_path}}/.dep/template_log`template\_target\_lookupa list of labels to determine the target systems`host.alias`, `host.hostname`, `host.labels.stage`### tasks

[](#tasks-2)

taskdescriptiontemplate:checkchecks the target system against the configuration and displays any differencestemplate:syncsyncs the configuration to the target system, adding and updating filescleanup
-------

[](#cleanup)

Remove obsolete files and folders from older releases.

```
# deploy.php
# ...

import('recipe/cleanup.php');
# or
import('task/cleanup.php');

# When using the task instead of the recipe, add the run task to the deployment manually:
after('deploy', 'cleanup:paths');
```

### variables

[](#variables-3)

variabledescriptiondefaultcleanup\_pathsA list of paths, relative to the release dir, which should be removed.`'var/cache'`### tasks

[](#tasks-3)

taskdescriptioncleanup:pathsChecks every release except current for the configured paths and removes them if they exist.symlink
-------

[](#symlink)

Creates symlinks anywhere on the host from a given list.

```
# deploy.php
# ...

import('recipe/symlink.php');
# or
import('task/symlink.php');

# When using the task instead of the recipe, add the run task to the deployment manually:
before('deploy:shared', 'symlink:create');
```

### variables

[](#variables-4)

variabledescriptiondefaultsymlink\_configlist of destination =&gt; source pairs. These will be created on deployment`[]`### tasks

[](#tasks-4)

taskdescriptionsymlink:createcreates the given list of symlinks on deploymentsupervisor
----------

[](#supervisor)

Stop and start task for supervisor to avoid runtime errors during deployment.

```
# deploy.php
# ...

import('recipe/supervisor.php');
# or
import('task/supervisor.php');

# When using the task instead of the recipe, add the run task to the deployment manually:
before('deploy:publish', 'supervisor:stop');
after('deploy:publish', 'supervisor:start');
```

### variables

[](#variables-5)

variabledescriptiondefaultbin/supervisorpath to the supervisorctl binary on the target system`which supervisorctl`supervisor\_groupslist of groups to be stopped, updated and started`[]`supervisor\_use\_sudowhether the commands are rund with sudo`false`### tasks

[](#tasks-5)

taskdescriptionsupervisor:stopstops the given list of supervisor task groupssupervisor:startupdates and starts the given list of supervisor task groups

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84.6% 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 ~91 days

Recently: every ~110 days

Total

9

Last Release

652d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/643b655d3f716b19f4122c0f1e6cd88880b5ca280d51766b92e80dadf608148a?d=identicon)[friemt](/maintainers/friemt)

---

Top Contributors

[![friemt](https://avatars.githubusercontent.com/u/42875968?v=4)](https://github.com/friemt "friemt (11 commits)")[![mscharl](https://avatars.githubusercontent.com/u/1411972?v=4)](https://github.com/mscharl "mscharl (2 commits)")

### Embed Badge

![Health badge](/badges/friemt-deployer-tasks/health.svg)

```
[![Health](https://phpackages.com/badges/friemt-deployer-tasks/health.svg)](https://phpackages.com/packages/friemt-deployer-tasks)
```

###  Alternatives

[composer/composer

Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.

29.5k196.2M3.1k](/packages/composer-composer)[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k251.2M25.2k](/packages/friendsofphp-php-cs-fixer)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[ssch/typo3-rector

Instant fixes for your TYPO3 PHP code by using Rector.

2603.2M435](/packages/ssch-typo3-rector)[sourcebroker/deployer-extended

Library with some additional tasks for deployer (deployer.org).

25292.2k12](/packages/sourcebroker-deployer-extended)[hypernode/deploy-configuration

Hypernode deploy configuration files

12133.0k](/packages/hypernode-deploy-configuration)

PHPackages © 2026

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