360 Secure SkillHub
360 安全技能中心

deployment-kit

核心功能:一键完成服务构建、重启、验证;提供systemd开机自启、Nginx反向代理、看门狗监控(故障自动重启+Telegram告警)等DevOps工具包。典型场景:在VPS上部署并维护自有服务,保障7*24小时运行。输入为bash命令及服务名,输出含部署状态、告警信息,需配置Telegram令牌,建议先在测试环境验证。

northcap-group
热度 28.20
最近更新 2026-08-22 03:14:38
分类:开发依赖:代码执行 / 第三方 API / 读写文件应用场景:DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add deployment-kit
Metadata
name
deployment-kit
description
Deploy and maintain services on a VPS with 1 command: build → restart → verify → monitor with heartbeat + Telegram alerts. Complete DevOps package: systemd units, nginx reverse proxy, cron @reboot, watchdog restarts, deploy scripts. WARNING: runs systemd restarts, sudo, nohup/setsid and changes runtime state — only use on services you own, test on staging first.
metadata
{"deployment-kit":{"requires":{"bins":["systemctl","sudo","curl","nohup","setsid"],"network":["https://api.telegram.org"],"env":["TG_BOT_TOKEN","TG_CHAT_ID"],"files":["~/.config/tg-alert.env"]}}}

Deployment Kit 🚀🖥️

Get your service deployed and running 24/7 — with automatic restart on failure.

What you get

  1. Deploy script — 1 command: copy code → restart → verify
  2. Systemd unit — auto-start on boot + auto-restart on crash
  3. Nginx reverse proxy — port → domain
  4. Cron @reboot — services that run without systemd
  5. Watchdog — heartbeat check + restart + Telegram alert

Quick start

# Preview first (no changes) — recommended
bash scripts/deploy.sh --dry-run myapp

# Deploy (asks for confirmation before restart)
bash scripts/deploy.sh myapp

# Watchdog (cron every 2 min)
*/2 * * * * bash /opt/myapp/watchdog.sh myapp

# Telegram alert on failure (scripts/notify.sh)
bash scripts/notify.sh "⚠️ myapp down — restarted"

What the scripts actually do (transparency)

  • deploy.sh — builds, then restarts the service: sudo systemctl restart for systemd services, or pkill -f + nohup relaunch for plain processes. Always asks for confirmation (or use --dry-run to preview). Can cause downtime.
  • watchdog.sh — checks the heartbeat file age; restarts the service + sends a Telegram alert if stale.
  • notify.sh — sends a Telegram message using a bot token read from ~/.config/tg-alert.env (or env vars).

Templates

deployment-kit/
├── SKILL.md
└── scripts/
    ├── deploy.sh      # build → restart → verify
    ├── watchdog.sh    # heartbeat + auto-restart + alert
    ├── notify.sh      # Telegram message (bot token + chat id)
    └── myapp.service  # systemd unit template

Best practices (learned on 8 services)

  • Heartbeat file is written by the app every 30-60s → watchdog checks mtime
  • Never pkill -f "pattern" that matches itself — use "pa[t]tern" or lsof
  • Slow processes: setsid bash -c '...' </dev/null >/dev/null 2>&1 & — intentional daemonization (process keeps running after shell exit)
  • ALWAYS verify after deploy (curl /health, log line, MD5)

🔒 Security & responsibility (important — read before use)

  • Destructive: deploy restarts services, replaces running code and can cause downtime. Test on staging first, and have a rollback plan.
  • sudo: deploy.sh uses sudo systemctl restart — requires sudo rights and affects the whole system. Only run commands you understand.
  • Secrets: Telegram token (TG_BOT_TOKEN) and chat id are credentials. Store them in ~/.config/tg-alert.env with chmod 600, never in scripts, logs, shell history or git.
  • nohup/setsid: used intentionally to run services in the background outside the terminal — normal daemon practice, not hidden behavior.
  • Always review scripts before running them on a production server.