enessvg/laravel-telegram-deployer
最新稳定版本:v0.1.0
Composer 安装命令:
composer require enessvg/laravel-telegram-deployer
包简介
Telegram-triggered deployment action runner for Laravel.
README 文档
README
English | Turkce
Telegram webhook-triggered, TOTP-protected, queue-based deploy/action runner for Laravel.
Supported Versions
- Laravel 11.x
- Laravel 12.x
- Laravel 13.x (PHP 8.3+)
Command Format
Only this format is supported:
/run {action} [key=value ...] {token}
Examples:
/run deploy 123456/run seed class=Database\\Seeders\\UserSeeder 123456
Features
- Telegram webhook secret validation
- Chat/User allowlist authorization
- TOTP validation (
period,digits,window) - Replay protection (single use per token+window)
- Global single-run lock
- Fail-fast action pipeline (
artisan+shell) - DB run logs (
telegram_deployer_runs) - Telegram status messaging
Installation (Host App)
- Install the package:
composer require enessvg/laravel-telegram-deployer
- Publish config and migrations:
php artisan vendor:publish --tag=telegram-deployer-config php artisan vendor:publish --tag=telegram-deployer-migrations
- Add these env keys to
.env(fill values as needed):
TELEGRAM_DEPLOYER_BOT_TOKEN= TELEGRAM_DEPLOYER_WEBHOOK_PATH= TELEGRAM_DEPLOYER_WEBHOOK_SECRET= TELEGRAM_DEPLOYER_ALLOWED_CHAT_IDS= TELEGRAM_DEPLOYER_ALLOWED_USER_IDS= TELEGRAM_DEPLOYER_OTP_SECRET= TELEGRAM_DEPLOYER_OTP_PERIOD= TELEGRAM_DEPLOYER_OTP_DIGITS= TELEGRAM_DEPLOYER_OTP_WINDOW= TELEGRAM_DEPLOYER_OTP_ISSUER= TELEGRAM_DEPLOYER_OTP_LABEL= TELEGRAM_DEPLOYER_QUEUE_CONNECTION= TELEGRAM_DEPLOYER_QUEUE= TELEGRAM_DEPLOYER_GLOBAL_LOCK_KEY= TELEGRAM_DEPLOYER_GLOBAL_LOCK_SECONDS= TELEGRAM_DEPLOYER_STEP_TIMEOUT= TELEGRAM_DEPLOYER_WORKING_DIRECTORY=
- Run migrations:
php artisan migrate --force
- Run a queue worker.
- Set Telegram webhook.
Artisan Commands
php artisan telegram-deployer:generate-secretphp artisan telegram-deployer:generate-secret --qr(prints QR in terminal ifqrencodeis installed)php artisan telegram-deployer:set-webhook {url?}
Core Config Keys
telegram.bot_tokentelegram.webhook_pathtelegram.webhook_secrettelegram.allowed_chat_idstelegram.allowed_user_idsotp.secret,otp.period,otp.digits,otp.windowqueue.connection,queue.namelocks.global_lock_secondsactions
Parameterized Action Example
'actions' => [ 'seed' => [ [ 'type' => 'artisan', 'command' => 'db:seed --class={class} --force', ], ], ],
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-23