Coolify — self-hosted PaaS-панель, яка приймає Git-репозиторій або Docker-образ і сама розгортає застосунок на вашому сервері: збирає білд, піднімає контейнер, видає SSL-сертифікат і налаштовує домен. Для тих, хто хоче деплоїти проєкти як у Vercel або Heroku, але на власному VDS, Coolify закриває більшу частину рутини без написання Compose-файлів руками.
Коли Coolify доречна, а коли ні
Coolify добре підходить, якщо на одному VDS потрібно тримати кілька незалежних застосунків — сайтів на Node.js, PHP або статику — і керувати їх деплоєм з браузера, не заходячи по SSH кожного разу. Панель сама заводить мережу Docker, проксує домени через reverse proxy і оновлює контейнер при пуші у репозиторій.
Панель надмірна для одного простого сайту, який і так оновлюється раз на місяць командою docker compose up -d: тримати окремий процес керування заради одного контейнера не дає виграшу. Не варто чекати від Coolify ізоляції рівня окремих віртуальних машин — усі застосунки діляться одним сервером і його ресурсами.
Що потрібно на сервері для Coolify
Coolify встановлюється на VDS з Docker — встановлення самого Docker детально описане у статті про налаштування Docker на VPS. Сам інсталятор Coolify використовує режим Docker Swarm всередині одного вузла, тому окремо піднімати кластер не потрібно.
Мінімальний обсяг пам'яті, який вказує сам проєкт — 2 ГБ, але на практиці з двома-трьома застосунками комфортніше працювати з 4 ГБ: панель і її власні службові контейнери (база, Redis, Traefik) теж займають пам'ять. Диска вистачає від 30 ГБ, якщо не планується зберігати образи десятків версій підряд.
Порівняння Coolify з ручним Docker Compose
Різниця між Coolify і звичайним Docker Compose — не у можливостях контейнерів, а у тому, хто бере на себе рутину навколо них.
| Завдання | Вручну через Compose | Через Coolify |
|---|---|---|
| Деплой по пушу у Git | окремий CI-раннер або скрипт | вбудований у панель |
| Видача TLS-сертифіката | ручне налаштування Traefik або Certbot | видається автоматично |
| Відкат на попередню версію | перезбирання старого образу | кнопка в інтерфейсі |
| Логи і метрики контейнера | docker logs і сторонні інструменти | вбудований перегляд у панелі |
Встановлення Coolify на VDS
Інсталятор Coolify постачається однією командою, яка розгортає усі службові контейнери і створює першого адміністратора.
# Встановлення Coolify на чистий VDS з Docker
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
# Панель буде доступна на порту 8000 одразу після встановлення
Після встановлення залишається відкрити панель за IP сервера і портом 8000, задати пароль адміністратора і підключити домен — далі Coolify сам видасть сертифікат через вбудований Traefik, детальніше про його роботу — у статті про Traefik як reverse proxy.
Що робити, якщо деплой не проходить
Більшість збоїв деплою в Coolify укладається у кілька типових причин.
- Перевірити логи білда прямо в інтерфейсі — найчастіше помилка в Dockerfile або у змінних середовища видна там само.
- Переконатися, що на сервері достатньо вільної пам'яті: збирання великих образів іноді вимагає більше 4 ГБ на піку.
- Звірити порт, який слухає застосунок всередині контейнера, з портом, який вказаний у налаштуваннях сервісу.
- Перевірити, що домен справді вказує на IP цього VDS — без цього Traefik не зможе видати сертифікат.
- Якщо використовується власний docker-compose.yml, звіритися з синтаксисом — приклад розбору описаний у статті про налаштування Docker Compose.
Часті питання
Чим Coolify відрізняється від Vercel?
Vercel — хмарний сервіс, де ресурси надає сам Vercel, а Coolify — програма, яку встановлюють на власний VDS: платити доводиться лише за сервер, але й обслуговувати його теж доводиться самостійно.
Чи можна запустити Coolify на сервері з 2 ГБ пам'яті?
Технічно інсталятор запуститься і на 2 ГБ, але цього обсягу вистачає лише для самої панелі і одного легкого застосунку; при додаванні другого-третього проєкту сервер починає впиратися в пам'ять.
Чи потрібен окремий домен для панелі Coolify?
Так, панель зручніше відкривати за власним піддоменом з SSL, а не за IP і портом 8000 — так підключення захищене шифруванням і не доводиться щоразу пам'ятати порт.