Встановлення Coolify на VPS: розгортання власної PaaS-платформи для управління Docker-контейнерами та GitOps
TL;DR
У цьому посібнику ми розглядаємо процес перетворення звичайного Linux-сервера на потужну PaaS-платформу (Platform as a Service) за допомогою Coolify. Це рішення дозволяє автоматизувати деплой застосунків з Git-репозиторіїв, керувати Docker-контейнерами через зручний веб-інтерфейс, автоматично випускати SSL-сертифікати та налаштовувати бази даних в один клік, повністю замінюючи дорогі хмарні сервіси на кшталт Heroku або Netlify.
- Мета: Створення незалежної інфраструктури для хостингу веб-застосунків та баз даних.
- Інструментарій: Coolify v4+, Docker Engine, Traefik (вбудований), Ubuntu 24.04/26.04 LTS.
- Результат: Повністю автоматизований пайплайн деплою (GitOps) з підтримкою GitHub, GitLab та локальних Docker-образів.
- Складність: Середня (потрібні базові навички роботи з терміналом SSH).
- Час реалізації: 30-40 хвилин на базове налаштування.
rocket_launch
Quick pick
Looking for a server that just works?
Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.
View VPS plans
arrow_forward
1. Що ми налаштовуємо і навіщо: Еволюція Self-hosted PaaS
Схема: 1. Що ми налаштовуємо і навіщо: Еволюція Self-hosted PaaS
Сучасна розробка програмного забезпечення потребує високої швидкості ітерацій. Традиційний підхід, за якого розробник вручну налаштовує веб-сервер Nginx, вручну копіює файли через SCP або налаштовує складні CI/CD пайплайни в Jenkins, поступово відходить у минуле для малих і середніх проєктів. На зміну прийшли PaaS-рішення (Platform as a Service), такі як Heroku, Render або Fly.io. Однак їх вартість зростає експоненційно разом із споживанням ресурсів, а прив'язка до конкретного вендора (vendor lock-in) створює ризики для бізнесу.
Coolify — це open-source альтернатива, яка надає аналогічний користувацький досвід, але на вашому власному обладнанні. Це "панель управління", яка встановлюється на ваш VPS і бере на себе всю рутину з управління життєвим циклом застосунків.
Основні переваги переходу на self-hosted PaaS у 2026 році:
- Економія: Ви платите лише за "залізо" VPS, не переплачуючи за кожен білд або додатковий гігабайт оперативної пам'яті.
- Приватність: Ваші вихідні коди, змінні оточення та бази даних знаходяться лише на ваших серверах.
- Гнучкість: Можливість розгорнути практично будь-який стек (Node.js, Python, Go, Rust, PHP) без обмежень хмарного провайдера.
- Автоматизація: Вбудована підтримка Wildcard SSL через Let's Encrypt та автоматичний деплой при пуші в Git-гілку.
Для розробника це означає можливість сфокусуватися на коді, а не на конфігурації YAML-файлів для Kubernetes, який найчастіше є надлишковим для 90% проєктів.
2. Який VPS-конфіг потрібен під цю задачу
Схема: 2. Який VPS-конфіг потрібен під цю задачу
Coolify сам по собі є відносно легким застосунком, оскільки він працює як оркестратор над Docker. Основне споживання ресурсів буде залежати від кількості та "важкості" застосунків, які ви плануєте запускати всередині платформи.
Оскільки Coolify використовує Docker і вбудований зворотний проксі-сервер Traefik, оперативна пам'ять є критичним ресурсом. При нестачі RAM механізм OOM Killer в Linux може почати завершувати процеси Coolify або ваших баз даних.
| Характеристика |
Мінімум (для тестів) |
Рекомендовано (Production) |
Enterprise / High Load |
| CPU |
1 Core (x86_64/ARM) |
2-4 Cores |
8+ Cores |
| RAM |
2 GB |
4-8 GB |
16 GB+ |
| Диск (SSD/NVMe) |
20 GB |
50-100 GB |
500 GB+ |
| ОС |
Ubuntu 22.04 LTS |
Ubuntu 24.04 LTS |
Debian 12 / Ubuntu 26.04 |
Для стабільної роботи платформи та кількох контейнерів з базами даних (PostgreSQL, Redis) найкраще вибрати відповідний VPS з об'ємом оперативної пам'яті не менше 4 ГБ. Якщо ви плануєте запускати важкі Java-застосунки або займатися компіляцією великих проєктів на Rust/C++ прямо на сервері, варто розглянути перехід на виділені ресурси.
Важливе зауваження щодо архітектури: Coolify відмінно працює на процесорах ARM (наприклад, Ampere). Це дозволяє суттєво економити бюджет, оскільки ARM-інстанси зазвичай дешевші при тій же продуктивності в багатопотокових задачах.
Локація: Вибирайте дата-центр, максимально близький до вашої цільової аудиторії, щоб мінімізувати мережеві затримки (latency) для HTTP-запитів. Якщо ваш проєкт орієнтований на глобальний ринок, Coolify дозволяє підключати додаткові сервери (Remote Servers) в різних локаціях і керувати ними з однієї панелі.
3. Підготовка сервера: Безпека та залежності
Схема: 3. Підготовка сервера: Безпека та залежності
Перед встановленням Coolify необхідно базово захистити сервер та підготувати середовище. Ми припускаємо, що у вас є чиста установка Ubuntu 24.04 LTS.
Оновлення системи
Першим ділом оновимо пакети до актуальних версій:
sudo apt update && sudo apt upgrade -y
Налаштування міжмережевого екрану (UFW)
Coolify вимагає відкриття певних портів для роботи веб-інтерфейсу, SSH-доступу та вхідного трафіку до ваших майбутніх додатків. Нам потрібні 80 (HTTP), 443 (HTTPS), 22 (SSH) та 6001 (Websockets для real-time логів в панелі).
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 6001/tcp
sudo ufw enable
Створення користувача та SSH-ключі
Робота під root-користувачем не рекомендується. Створимо користувача з правами sudo:
useradd -m -s /bin/bash deployer
usermod -aG sudo deployer
passwd deployer
Обов'язково налаштуйте вхід по SSH-ключам та вимкніть аутентифікацію за паролем в /etc/ssh/sshd_config для запобігання брутфорс-атакам.
Встановлення базових утиліт
Нам знадобляться curl, wget та git для роботи скриптів встановлення:
sudo apt install -y curl wget git jq htop
rocket_launch
Quick pick
Looking for a server that just works?
Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.
View VPS plans
arrow_forward
4. Встановлення Coolify: Покроковий розбір скрипта
Схема: 4. Встановлення Coolify: Покроковий розбір скрипта
Coolify v4 (поточна стабільна версія на 2026 рік) встановлюється за допомогою офіційного скрипта, який автоматично налаштовує Docker Engine, Docker Compose та необхідні конфігурації мережі.
Виконайте наступну команду від імені користувача з правами sudo:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Що відбувається під час виконання скрипта:
- Перевірка залежностей: Скрипт перевіряє наявність curl, jq та інших утиліт.
- Встановлення Docker: Якщо Docker не встановлено, скрипт додасть офіційний репозиторій Docker та встановить останню версію Engine та Compose плагіна.
- Створення структури директорій: Всі дані Coolify зберігаються в
/data/coolify. Це важливо для подальших бекапів.
- Запуск контейнерів Coolify: Будуть завантажені та запущені декілька контейнерів:
coolify: Основний Laravel-додаток (backend).
coolify-realtime: Сервіс на Node.js для передачі логів через сокети.
coolify-db: База даних PostgreSQL для зберігання налаштувань платформи.
coolify-redis: Кешування та черги задач.
coolify-proxy: Екземпляр Traefik, який буде керувати маршрутизацією.
Після завершення встановлення (зазвичай займає 3-5 хвилин) ви побачите повідомлення з IP-адресою та портом для входу (за замовчуванням 3000, але після налаштування домену він буде переключений на 80/443).
Перевірити статус запущених контейнерів можна командою:
docker ps | grep coolify
5. Початкове налаштування та Dashboard
Схема: 5. Початкове налаштування та Dashboard
Відкрийте браузер та перейдіть за адресою http://your-vps-ip:3000. При першому вході вам буде запропоновано створити аккаунт адміністратора. Ці дані зберігаються локально на вашому сервері.
Налаштування домену для панелі керування
Щоб ваша панель була доступна за безпечною адресою (наприклад, https://cp.yourdomain.com), виконайте наступні дії:
- Направте A-запис вашого домену в DNS-панелі реєстратора на IP-адресу вашого VPS.
- В інтерфейсі Coolify перейдіть в розділ Settings.
- В полі Instance Domain введіть ваш домен.
- Coolify автоматично запросить SSL-сертифікат у Let's Encrypt через вбудований Traefik.
Поняття "Destinations" та "Sources"
Coolify оперує двома важливими сутностями:
- Sources: Звідки береться код (GitHub, GitLab, Bitbucket, локальний Git).
- Destinations: Куди деплоїться код. За замовчуванням це Local Docker (той же сервер, де стоїть панель), але ви можете додати інші сервери по SSH.
Важливо: При додаванні віддаленого сервера через SSH переконайтесь, що на ньому також встановлено Docker. Coolify може зробити це автоматично, якщо у нього є root-доступ.
6. Налаштування GitOps: Інтеграція з GitHub та GitLab
Схема: 6. Налаштування GitOps: Інтеграція з GitHub та GitLab
Одна з найпотужніших функцій Coolify — автоматичний деплой при кожному git push. Це реалізується через Webhooks.
Підключення GitHub App
Замість використання персональних токенів доступу (PAT), Coolify рекомендує створювати GitHub App. Це безпечніше та дає більше контролю над правами доступу.
- В панелі Coolify виберіть Sources -> New -> GitHub App.
- Натисніть кнопку автоматичної генерації додатка. Ви будете перенаправлені на GitHub.
- Виберіть організацію або особистий аккаунт та підтвердіть встановлення.
- Тепер при створенні нового проєкту (New Resource) ви зможете просто вибрати репозиторій зі списку.
Автоматичні прев'ю (Pull Request Previews)
Coolify підтримує створення тимчасових середовищ для кожного Pull Request. Коли розробник відкриває PR, Coolify розгортає окрему копію програми на тимчасовому піддомені (наприклад, pr-12.myapp.com). Це дозволяє тестувати фічі до їх злиття в основну гілку. Після закриття PR контейнер автоматично видаляється, звільняючи ресурси.
Конфігурація Dockerfile vs Nixpacks
Coolify використовує Nixpacks — сучасний інструмент, який аналізує ваш код і автоматично розуміє, як його зібрати (визначає мову програмування, версію рантайму та необхідні залежності). Якщо ж вам потрібен повний контроль, ви завжди можете переключитися на використання власного Dockerfile або docker-compose.yaml в налаштуваннях проєкту.
rocket_launch
Quick pick
Looking for a server that just works?
Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.
View VPS plans
arrow_forward
7. Управління базами даних та сервісами в один клік
Схема: 7. Управління базами даних та сервісами в один клік
Coolify дозволяє розгортати бази даних не як зовнішні залежності, а як повноцінні ресурси всередині вашої PaaS. Підтримуються:
- PostgreSQL
- MySQL / MariaDB
- MongoDB
- Redis
- ClickHouse
- Dragonfly / Valkey
При створенні бази даних Coolify автоматично генерує надійні паролі та надає внутрішні DNS-імена (наприклад, postgres:5432), які доступні іншим вашим програмам в рамках однієї Docker-мережі. Це виключає необхідність відкривати порти баз даних у зовнішній світ, що значно підвищує безпеку.
One-click Services
У розділі Services доступні готові шаблони для популярних Open Source інструментів: Appwrite, Plausible Analytics, Ghost, Meilisearch, WordPress та багатьох інших. Встановлення відбувається за один клік, включаючи налаштування бази даних та проксування.
8. Бекапи та обслуговування системи
Схема: 8. Бекапи та обслуговування системи
Зберігати дані на одному сервері без бекапів — величезний ризик. Coolify пропонує вбудовані механізми резервного копіювання баз даних.
Налаштування S3 Backups
Рекомендується використовувати будь-яке S3-сумісне сховище для бекапів.
У розділі бази даних перейдіть у вкладку Backups:
- Вкажіть S3 Access Key, Secret Key та Bucket Name.
- Налаштуйте розклад (Cron expression), наприклад,
0 0 * для щоденного бекапу опівночі.
- Вкажіть кількість збережених копій (Retention policy).
Бекап самої платформи Coolify
Всі критичні дані Coolify знаходяться в /data/coolify. Для повного бекапу системи можна використовувати простий скрипт на основі rsync або restic:
#!/bin/bash
# Пример бэкапа папки данных на удаленный сервер
tar -czf /tmp/coolify-data-$(date +%F).tar.gz /data/coolify
scp /tmp/coolify-data-$(date +%F).tar.gz backup-server:/backups/
rm /tmp/coolify-data-$(date +%F).tar.gz
Оновлення Coolify
Coolify вміє оновлюватися самостійно. У нижній частині панелі управління з'явиться повідомлення, якщо доступна нова версія. Процес оновлення зводиться до перезапуску контейнерів з новими образами, що зазвичай займає не більше 30 секунд простою панелі (ваші програми при цьому продовжують працювати).
9. Troubleshooting + FAQ: Вирішення типових проблем
Помилка: "Docker daemon is not reachable"
Зазвичай виникає, якщо користувач, під яким запущено Coolify, не має прав на читання /var/run/docker.sock. Перевірте права доступу та переконайтеся, що сервіс Docker активний: sudo systemctl status docker.
Проблема з випуском SSL-сертифікатів
Якщо сертифікат не випускається, перевірте:
- Чи направлено домен на правильний IP (використовуйте
dig yourdomain.com).
- Чи не блокує Firewall порт 80 (Let's Encrypt використовує його для HTTP-01 challenge).
- Ліміти Let's Encrypt (якщо ви занадто часто перестворювали контейнери).
Високе споживання RAM під час збірки
Збірка (Build process) — найбільш ресурсовитратна частина. Якщо сервер "зависає" під час деплою, додайте Swap-файл:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
FAQ
Який VPS-конфіг мінімально підійде?
Мінімально — 2 ГБ ОЗУ та 1 ядро CPU. Однак у такій конфігурації вам доведеться використовувати Swap, а збірка додатків буде йти повільно. Для комфортної роботи 2-3 невеликих додатків (наприклад, на Node.js або Python) та бази даних PostgreSQL рекомендуємо 4 ГБ ОЗУ.
Що вибрати — VPS або dedicated для цього завдання?
VPS ідеально підходить для більшості проєктів завдяки гнучкості масштабування. Ви завжди можете додати ресурсів при зростанні навантаження. Dedicated сервер варто вибирати тільки якщо у вас дуже важкі завдання з компіляції коду, високі вимоги до дискового вводу-виводу (I/O) або якщо ви плануєте розгорнути на Coolify десятки навантажених сервісів, що споживають сотні гігабайт трафіку.
Чи можна перенести Coolify на інший сервер?
Так, достатньо скопіювати вміст директорії /data/coolify на новий сервер та запустити інсталяційний скрипт. Всі налаштування, ключі та дані додатків підтягнуться автоматично.
Чи безпечно зберігати секрети в Coolify?
Всі змінні оточення шифруються перед збереженням у базу даних. Coolify використовує стандартні практики безпеки, однак завжди рекомендується обмежувати доступ до самої панелі управління за допомогою White-list IP або VPN.
rocket_launch
Quick pick
Looking for a server that just works?
Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.
View VPS plans
arrow_forward
10. Висновки та наступні кроки
Ми розгорнули повноцінну PaaS-платформу, яка за можливостями не поступається комерційним хмарам, але працює на вашому власному VPS. Тепер ви можете деплоїти програми простим git push, не піклуючись про налаштування Nginx, SSL та Docker-мереж вручну.
Наступні кроки для оптимізації вашої інфраструктури:
- Моніторинг: Встановіть через Coolify стек Prometheus + Grafana для відстеження завантаження ресурсів вашого сервера.
- Оптимізація образів: Використовуйте багатоетапні збірки (Multi-stage builds) в Dockerfile, щоб зменшити розмір образів та пришвидшити деплой.
- Кластеризація: Спробуйте підключити другий VPS як робочий вузол (Worker Node), щоб рознести панель управління та самі застосунки.
Self-hosting — це шлях до цифрового суверенітету та значної економії бюджету розробки. Coolify робить цей шлях максимально простим та приємним.