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 — так подключение защищено шифрованием и не приходится каждый раз помнить порт.