docker-deploy
Деплой на VPS через Docker: multi-stage build, docker-compose, Nginx reverse proxy, SSL, health checks.
Описание
Простым языком
Сделал сайт локально — теперь надо выложить в интернет. Звучит страшно, но этот скилл делает всё за тебя. Docker — это как коробка, в которую упакован твой сайт. Её можно перенести на любой сервер и он заработает.
Скажи Claude адрес сервера и домен — и через несколько минут сайт будет доступен по ссылке с защищённым соединением. Если что-то сломается — один клик и всё вернётся как было.
Что делает
Скилл docker-deploy настраивает Docker-деплой для любого стека: пишет Dockerfile, docker-compose.yml, настраивает nginx, SSL через certbot, systemd-автозапуск и GitHub Actions для CI/CD.
Один промпт — и у тебя полная цепочка: push → build → deploy → healthy. Rollback за 30 секунд.
Когда использовать
- Деплоишь проект на VPS впервые
- Переносишь проект с одного сервера на другой
- Настраиваешь CI/CD pipeline через GitHub Actions
- Нужен zero-downtime деплой через
docker compose up --no-deps --build - Настраиваешь multi-container app (app + postgres + redis + nginx)
Как работает — пошагово
- Claude анализирует стек: Node.js/Python/Go — выбирает правильный базовый образ
- Пишет многоступенчатый
Dockerfile: builder + runner для минимального размера - Настраивает
docker-compose.yml: app + зависимости (postgres, redis) - Конфигурирует nginx как reverse proxy с HTTP→HTTPS редиректом
- Настраивает certbot для автоматического получения и обновления SSL
- Добавляет healthcheck в
docker-compose.ymlдля мониторинга - Пишет GitHub Actions workflow: push → SSH → pull → build → up
Промпты для Claude
Настрой Docker-деплой для Next.js 14 + Payload CMS проекта.
Сервер: Ubuntu 22.04, IP: 109.172.36.108
Домен: stackovervibe.ru
БД: PostgreSQL 15 (в отдельном контейнере)
SSL: Let's Encrypt
CI/CD: GitHub Actions → SSH-деплойОбнови docker-compose.yml — добавь Redis для кэширования.
redis:7-alpine, порт 6379, данные в volume.
App должен ждать redis (depends_on + healthcheck).Пример Dockerfile
# Dockerfile — многоступенчатая сборка Next.js
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["node", "server.js"]Автоматизация CI/CD
# .github/workflows/deploy.yml
jobs:
deploy:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Deploy
run: |
ssh deploy@109.172.36.108 \
"cd /home/claude/stackovervibe && \
git pull && \
docker compose up -d --build --no-deps app && \
docker compose exec app npx prisma migrate deploy"Частые вопросы
Как откатить деплой если что-то сломалось?
git revert HEAD && git push — запустит CI который задеплоит предыдущую версию. Или вручную: ssh server "cd /app && git checkout HEAD~1 && docker compose up -d --build".
Как проверить что деплой прошёл успешно?
Claude добавляет healthcheck: curl -f http://localhost:3000/api/health в docker-compose.yml. Если контейнер не отвечает за 30с — Docker перезапустит его автоматически.
> Пока нет комментариев
Связанный контент
Похожие инструменты
/vps-setup-framework
Установка Vibe Framework на VPS: hooks, skills, rules, конфиги. Полная настройка Claude Code окружения.
Открыть →/deploy
Деплой на VPS через Docker: сборка образа, пуш, docker-compose up. С rollback при ошибке.
Открыть →vps-quick-setup
Быстрая настройка VPS: безопасность, Docker, Nginx, SSL, файрвол, fail2ban — за одну сессию.
Открыть →