Деплой статического сайта на VPS через GitHub Actions за 15 минут

Деплой статического сайта на VPS с nginx и Let’s Encrypt SSL занимает 15 минут через GitHub Actions. Вам понадобятся: VPS с Ubuntu, домен, SSH-ключ и 3 файла конфигурации.

Пошаговая инструкция

Шаг 1: Настройка VPS и nginx

Установите nginx, настройте конфигурацию для статической раздачи из /var/www/site/current. Пропишите домен в server_name.

Шаг 2: Let’s Encrypt SSL

certbot --nginx -d your-domain.com — автоматический выпуск и автообновление сертификата.

Шаг 3: GitHub Actions workflow

Создайте .github/workflows/deploy.yml с шагами: checkout → npm ci → npm run build → rsync на VPS.

Шаг 4: Secrets и переменные

Добавьте переменные хоста, пользователя и SSH-ключа в GitHub Secrets. Никогда не коммитьте ключи.

FAQ

Какие минимальные требования к VPS?

Ответ: Ubuntu 22.04+, 512MB RAM, 10GB SSD. Стоимость от $3.5/мес (Hetzner, DigitalOcean) или $40/год (Beget Cloud). Этого достаточно для статического сайта с TTFB ≤200ms.