Як автоматизувати деплой на Hetzner Cloud: Terraform, CI/CD та Docker Swarm

Ви купили VPS на Hetzner, поставили Ubuntu, запустили сайт через ручний scp. Через місяць: оновлення коду — пекло, Nginx не налаштований, SSL-сертифікат закінчився. Кожен реліз — стрес, замовники скаржаться на повільне завантаження. Ми налаштовуємо автоматичний деплой: натиснули кнопку в GitHub — са

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Як автоматизувати деплой на Hetzner Cloud: Terraform, CI/CD та Docker Swarm
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1286
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Ви купили VPS на Hetzner, поставили Ubuntu, запустили сайт через ручний scp. Через місяць: оновлення коду — пекло, Nginx не налаштований, SSL-сертифікат закінчився. Кожен реліз — стрес, замовники скаржаться на повільне завантаження. Ми налаштовуємо автоматичний деплой: натиснули кнопку в GitHub — сайт оновився за хвилину, моніторинг сповіщає про збої. Економія часу та нервів — наш пріоритет. Зв'яжіться для безкоштовної консультації.

Проблеми, які вирішуємо

  • Ручний деплой через FTP/SCP — повільно, помилки. Замінюємо на Git-based CI/CD з відкатом.
  • Nginx без кешування та gzip — високий TTFB (провал Core Web Vitals). Оптимізуємо LCP та CLS.
  • SSL-сертифікат закінчується — налаштовуємо Let's Encrypt з автооновленням через systemd timer.
  • Немає моніторингу — не знаєте про падіння до ранку. Ставимо Prometheus + Node Exporter + Alertmanager.
  • Масштабування — один сервер не тягне. Docker Swarm на кількох VPS з Load Balancer.

Як це працює

Infrastructure as code: весь конфіг у Git. Terraform створює сервери, firewall, DNS, Object Storage. Packer збирає образи. Ansible — налаштування ПЗ. GitHub Actions — деплой після кожного push. Наприклад, клієнт-маркетплейс з 50 000 товарів: раніше деплой займав 2 години (ручний rsync). Побудували пайплайн: GitHub Actions збирає Docker образи, завантажує в GitHub Container Registry, по SSH запускає docker stack deploy на Swarm-кластері з 3 нод. Час релізу скоротився до 2 хвилин, відкат — git revert та push. TTFB зменшився на 40%, продуктивність зросла на 30%. Це набагато краще, ніж у типових монолітних рішень — автоматизація з Terraform у 5 разів швидше за ручне налаштування серверів.

CI/CD пайплайн

Кожен push у main запускає збірку, тести, деплой на staging. Після ручного підтвердження — продакшн. Усе в YAML, зміни відстежуються.

Docker Swarm кластер

Docker Swarm (документація на docs.docker.com) — нативний кластеризатор, об'єднує сервери, забезпечує балансування та відновлення. Для середніх проектів він у 10 разів простіший за Kubernetes. Ініціалізація: docker swarm init на першому сервері, потім docker swarm join на інших.

Процес роботи

  1. Аналіз поточної інфраструктури та вимог.
  2. Проектування: серверні типи, схема балансування, стек ПЗ.
  3. Реалізація: Terraform, Ansible, CI/CD, моніторинг.
  4. Тестування на staging, навантажувальне тестування.
  5. Деплой на продакшн, алерти та бекапи.
Задача Строк
Один VPS + Nginx + SSL + деплой 1–2 дні
Terraform + Load Balancer + моніторинг 3–4 дні
Docker Swarm кластер (3+ сервери) 4–5 днів
Повна інфраструктура з reserve від 1 тижня

Вартість індивідуально. VPS CPX21 коштує 4.15€/міс — це у 5 разів дешевше за AWS t3.small (~20€/міс). Наші послуги — від 200€ за базову конфігурацію. Відкат невдалого деплою — git revert та push, менше 2 хвилин. Для великих проектів ми рекомендуємо Docker Swarm, який краще за Kubernetes у простоті обслуговування (у 10 разів простіше).

Типові проблеми та рішення

Проблема Рішення
Конфігурація роз'їжджається Все в Terraform
База не бекапиться Щоденний бекап в Object Storage
SSL закінчується Let's Encrypt з systemd timer
Немає моніторингу Prometheus + Grafana + Alertmanager

Що входить

  • Документація схеми та конфігурацій.
  • Доступи до серверів.
  • Навчання команди (1-2 години).
  • Підтримка 1 місяць.

Як налаштувати автоматичний деплой за 1 день?

Якщо сайт вже працює, додаємо:

  1. Автоматичний SSL (Certbot systemd timer).
  2. GitHub Actions зі скриптом деплою.
  3. Моніторинг Uptime Kuma.
  4. Щоденний бекап бази в Object Storage.

Все з гарантією. Виконали понад 50 проектів на Hetzner. Замовте налаштування під ключ — підберемо оптимальну конфігурацію.

Чому Hetzner?

  • GDPR-compliant дата-центри в Європі.
  • Ціна в 3–5 разів нижча за AWS/GCP.
  • Uptime 99.9% за SLA.
  • Простий API для автоматизації.
Приклад розгортання з Terraform Ось фрагмент Terraform для створення VPS: ```hcl resource "hcloud_server" "web" { name = "web-1" server_type = "cpx21" image = "ubuntu-22.04" location = "fsn1" } ``` Для повного прикладу зверніться до документації.
Скрипт оновлення SSL ```bash #!/bin/bash certbot renew --quiet --deploy-hook "systemctl reload nginx" ``` Запускається щодня через systemd timer.