PHPackages                             batyukovstudio/envoy - 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. batyukovstudio/envoy

ActiveLibrary[CLI &amp; Console](/categories/cli)

batyukovstudio/envoy
====================

Envoy actions with GitHub hooks.

1.2.8(2mo ago)0223MITPHPPHP &gt;=8.1

Since Oct 4Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/batyukovstudio/envoy)[ Packagist](https://packagist.org/packages/batyukovstudio/envoy)[ RSS](/packages/batyukovstudio-envoy/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (6)Versions (27)Used By (0)

batyukovstudio/envoy
====================

[](#batyukovstudioenvoy)

Пакет для deploy-процессов через Laravel Envoy с webhook-интеграциями GitHub/GitLab и Telegram-уведомлениями.

1. Установка
------------

[](#1-установка)

```
composer require batyukovstudio/envoy
```

2. Публикация файлов
--------------------

[](#2-публикация-файлов)

После установки опубликуйте файлы пакета:

```
php artisan vendor:publish --tag="bat-envoy"
```

Публикуются конфиги, маршруты, шаблон `Envoy.blade.php`, тесты контейнера и helper для Telegram (`deploy/telegram.php`).

3. Миграции
-----------

[](#3-миграции)

После публикации выполните миграции:

```
php artisan migrate
```

4. Настройка `.env`
-------------------

[](#4-настройка-env)

Добавьте и заполните переменные:

```
ROOT_DIRECTORY=
PHP_COMMAND=php
BUILD_FRONT=true
TELEGRAM_BOT_ENVOY_TOKEN=
TELEGRAM_CHAT_ID_FOR_ENVOY=
TELEGRAM_THREAD_ID_FOR_ENVOY=
TELEGRAM_PROXY=
GITHUB_WEBHOOK_SECRET=
DEPLOY_GIT_BRANCH=dev

GITLAB_TARGET_BRANCH=
GITLAB_WEBHOOK_SECRET=

NODE_PACKAGE_MANAGER=
NODE_VERSION=
```

Обязательные:

- `ROOT_DIRECTORY`
- `PHP_COMMAND` (если не указано, используется `php`)
- `TELEGRAM_BOT_ENVOY_TOKEN`
- `TELEGRAM_CHAT_ID_FOR_ENVOY`
- `GITHUB_WEBHOOK_SECRET`
- `DEPLOY_GIT_BRANCH`

Опциональные:

- `BUILD_FRONT` (по умолчанию `true`)
- `TELEGRAM_THREAD_ID_FOR_ENVOY` (для отправки в конкретный thread/topic)
- `TELEGRAM_PROXY` (если нужен прокси для Telegram Bot API)
- `NODE_PACKAGE_MANAGER` и `NODE_VERSION` (обязательны только при `BUILD_FRONT=true`)

Поддерживаемые форматы `TELEGRAM_PROXY`:

- `http://user:pass@host:port`
- `https://user:pass@host:port`
- `socks5://user:pass@host:port`
- `socks5h://user:pass@host:port`

Поведение deploy:

- `BUILD_FRONT=true` — в `deploy` story выполняется задача `build-front`.
- `BUILD_FRONT=false` — задача `build-front` пропускается.
- `PHP_COMMAND=php8.3` (пример) — все команды `artisan` выполняются через указанную команду PHP.

Примечание: для `.env.testing` переменная `ROOT_DIRECTORY` должна указывать путь до тестируемого проекта.

5. Настройка `config/app.php`
-----------------------------

[](#5-настройка-configappphp)

Добавьте в массив `return [...]` файла `config/app.php`:

```
'root_directory' => env('ROOT_DIRECTORY', ''),
```

Это значение используется Envoy-задачами как рабочая директория проекта при выполнении deploy-команд.

6. Обновление пакета
--------------------

[](#6-обновление-пакета)

Если пакет уже установлен и вышла новая версия:

```
composer update batyukovstudio/envoy
php artisan vendor:publish --tag="bat-envoy" --force
php artisan migrate
```

Важно про `--force`:

- `--force` перезаписывает уже опубликованные файлы.
- Если вы вносили локальные правки в `Envoy.blade.php`, `deploy/telegram.php`, конфиги или маршруты, сначала сохраните diff и проверьте изменения перед перезаписью.
- Перепубликация обычно нужна, когда в новой версии изменились publishable-файлы (README/changelog релиза это обычно отражает).

После обновления проверьте:

- появились ли новые env-переменные;
- нужны ли дополнительные миграции;
- не конфликтуют ли ваши локальные правки с новой версией опубликованных файлов.

7. Сценарий: установка с нуля
-----------------------------

[](#7-сценарий-установка-с-нуля)

1. Установить пакет (`composer require ...`).
2. Опубликовать файлы (`vendor:publish --tag="bat-envoy"`).
3. Выполнить миграции (`php artisan migrate`).
4. Заполнить `.env`.
5. Проверить `config/app.php` и наличие `root_directory`.

8. Сценарий: обновление пакета
------------------------------

[](#8-сценарий-обновление-пакета)

1. Обновить пакет (`composer update batyukovstudio/envoy`).
2. Сверить changelog/README новой версии.
3. При необходимости перепубликовать файлы (`vendor:publish --tag="bat-envoy" --force`).
4. Проверить новые env-переменные.
5. Выполнить миграции (`php artisan migrate`).

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance88

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.2% 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 ~30 days

Recently: every ~24 days

Total

20

Last Release

62d ago

PHP version history (2 changes)1.0.0PHP &gt;=8.2

1.2.3PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2201597?v=4)[Eugene Batyukov](/maintainers/Batyukov)[@batyukov](https://github.com/batyukov)

---

Top Contributors

[![dolzhenkov-nikita](https://avatars.githubusercontent.com/u/135580611?v=4)](https://github.com/dolzhenkov-nikita "dolzhenkov-nikita (74 commits)")[![bubnov-alexander](https://avatars.githubusercontent.com/u/107042421?v=4)](https://github.com/bubnov-alexander "bubnov-alexander (30 commits)")[![cherepanov-igor](https://avatars.githubusercontent.com/u/65646152?v=4)](https://github.com/cherepanov-igor "cherepanov-igor (7 commits)")[![LakiEnt](https://avatars.githubusercontent.com/u/91592081?v=4)](https://github.com/LakiEnt "LakiEnt (6 commits)")

---

Tags

laravelgitapiatoenvoy

### Embed Badge

![Health badge](/badges/batyukovstudio-envoy/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.3k2.2k](/packages/unopim-unopim)[projektgopher/whisky

A simple CLI tool for managing a project's git hooks across multiple members.

242337.0k21](/packages/projektgopher-whisky)[ronasit/laravel-entity-generator

Provided console command for generating entities.

2052.5k](/packages/ronasit-laravel-entity-generator)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17818.7k](/packages/markwalet-nova-modal-response)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21313.7k3](/packages/ecotone-laravel)[jobmetric/laravel-package-core

It is a standard package of different components of Laravel that helps you write different packages better and more fluently

102.4k43](/packages/jobmetric-laravel-package-core)

PHPackages © 2026

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