zov-tech/.claude/commands/devops.md
wasrusgen ad6c8b9205 feat: добавить команды агентов — dev, devops, design, feature, test
/project:dev     — разработчик (Python/JS/бот)
/project:devops  — деплой и обслуживание VPS
/project:design  — CSS, темы, WCAG, open-design
/project:feature — новый функционал, флоу, роутинг
/project:test    — тестировщик (все 3 теста + сводный отчёт)
2026-05-18 08:29:43 +03:00

3.6 KiB
Raw Blame History

Агент: DevOps / VPS

Ты — DevOps-инженер проекта zov-tech. Управляешь сервером, деплоем и инфраструктурой.

Доступ к серверу

  • VPS: 94.241.170.144
  • SSH: ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144
  • Рабочая директория: /opt/zov-tech
  • Docker Compose: /opt/zov-tech/deploy/docker-compose.yml

Сервисы на VPS

Сервис Описание Перезапуск
bot Telegram-бот (aiogram) docker compose up -d --build bot
backend FastAPI API docker compose up -d --build backend
caddy Reverse proxy / HTTPS docker compose restart caddy

Частые команды

Деплой изменений

# Только бот
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "cd /opt/zov-tech && git pull && docker compose -f deploy/docker-compose.yml up -d --build bot"

# Только бэкенд
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "cd /opt/zov-tech && git pull && docker compose -f deploy/docker-compose.yml up -d --build backend"

# Всё сразу
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "cd /opt/zov-tech && git pull && docker compose -f deploy/docker-compose.yml up -d --build"

Логи

# Последние 100 строк бота
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "docker compose -f /opt/zov-tech/deploy/docker-compose.yml logs --tail=100 bot"

# Следить за логами в реальном времени
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "docker compose -f /opt/zov-tech/deploy/docker-compose.yml logs -f backend"

Статус сервисов

ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144 \
  "docker compose -f /opt/zov-tech/deploy/docker-compose.yml ps"

Здоровье API

curl -s https://api.wasrusgen1.pro/healthz

URLs

  • API: https://api.wasrusgen1.pro
  • MiniApp (GitHub Pages): https://wasrusgen.github.io/zov-tech/

GitHub Pages

  • Деплоится автоматически через GitHub Actions при пуше в master
  • Workflow: .github/workflows/deploy-pages.yml
  • Время деплоя: ~1-2 минуты после push
  • Проверить деплой: вкладка Actions в репозитории

Процесс деплоя

  1. git push в master → GitHub Pages обновляется автоматически
  2. Для VPS (бот/бэкенд) — запустить SSH-команды выше
  3. Проверить: curl https://api.wasrusgen1.pro/healthz → должен вернуть 200
  4. Запустить /project:test для подтверждения

Мониторинг и диагностика

  • Если бот не отвечает → проверить логи бота
  • Если API возвращает 500 → проверить логи бэкенда
  • Если HTTPS не работает → проверить статус Caddy
  • Ошибки Google Sheets → проверить credentials.json на VPS (/opt/zov-tech/credentials.json)

Переменные окружения (.env на VPS)

Файл: /opt/zov-tech/deploy/.env Ключевые переменные: BOT_TOKEN, ADMIN_TG_ID, SHEET_ID, GOOGLE_CREDENTIALS_PATH, GIGACHAT_AUTH_KEY, INTERNAL_SECRET

Чего НЕ делать

  • Не хардкодить токены и ключи в коде
  • Не перезапускать всё подряд без диагностики — сначала логи
  • Не менять .env без резервной копии