Self‑Hosting Coolify: Руководство по альтернативе Heroku

Self-hosting Coolify: установка, настройка и деплой приложений на собственном VPS. Полное руководство по альтернативе Heroku с полным контролем и без подписок.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор14 января 2026 г.

Подключение к VPS и обновление системы

Подключитесь к вашему серверу по SSH и выполните базовое обновление пакетов для обеспечения безопасности и стабильности.

ssh root@your_vps_ip
sudo apt update && sudo apt upgrade -y

Установка Docker

Coolify работает поверх Docker, поэтому необходимо установить движок контейнеров. Используем официальный скрипт установки.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker

Установка Coolify

Запустите официальный скрипт установки, который автоматически скачает и запустит контейнеры Coolify (веб-интерфейс и агенты).

curl -sSL https://get.coollabs.io/coolify/install.sh | bash

Первоначальная настройка в веб-интерфейсе

Откройте http://your_vps_ip:8000 в браузере. Создайте администраторский аккаунт, затем добавьте ваш сервер в панели управления (Settings -> Servers). Скопируйте публичный SSH-ключ в ~/.ssh/authorized_keys на VPS для связи.

Пример деплоя приложения (Node.js)

В интерфейсе Coolify создайте новый проект (New Project -> Application). Укажите ссылку на Git-репозиторий. Coolify автоматически определит стек и предложит команды сборки. Нажмите 'Deploy' для запуска.

Repository: https://github.com/user/example-node-app.git
Build Command: npm install
Start Command: npm start

Бонус: Настройка обратного прокси (Traefik) для Wildcard SSL

Для продакшена создайте сеть и запустите Traefik для автоматического получения SSL сертификатов и проксирования трафика. Используйте DNS-чалленж (например, Cloudflare) для Wildcard сертификатов.

docker network create web
# Создайте файлы traefik.yml и acme.json, затем:
docker run -d -p 80:80 -p 443:443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ./traefik.yml:/traefik.yml \
  -v ./acme.json:/acme.json \
  --network web \
  traefik:v2.10

Как Self-Hosted Coolify превращает ваш VPS в полноценную альтернативу Heroku и Vercel

Введение: Зачем вам нужен собственный PaaS

Платформы как сервис (PaaS) вроде Heroku и Vercel упростили развертывание приложений, но их стоимость растет пропорционально масштабу. Для стартапов, фрилансеров или небольших команд, которые хотят контролировать инфраструктуру без переплаты, Self-Hosted PaaS — идеальное решение. Вы получаете гибкость настройки, полный контроль над данными и возможность размещать приложения на дешевых VPS, сохраняя удобство современных инструментов развертывания.

В этой статье мы разберем, как Coolify превращает обычный VPS в мощную платформу для развертывания, управляемую через интуитивный веб-интерфейс. Это не просто Docker-обертка, а полноценная альтернатива облачным PaaS с открытым исходным кодом.

Что такое Coolify и почему это лучше, чем писать docker-compose вручную

Coolify — это open-source панель управления, которая автоматизирует развертывание приложений, баз данных и сервисов на любом VPS. В отличие от ручного написания docker-compose.yml и настройки Nginx, Coolify предоставляет веб-интерфейс для управления всем через UI, с поддержкой Git-репозиториев, автоматическим SSL и CI/CD.

Почему Coolify лучше ручного Docker:

  • Автоматизация: Вместо того чтобы вручную настраивать сети, тома и переменные окружения, вы просто указываете репозиторий, и Coolify сам собирает и разворачивает приложение.
  • Удобство: One-click деплой для популярных стеков (Node.js, Python, PHP, Go и др.), встроенный мониторинг и логи.
  • Масштабируемость: Поддержка мульти-хостов, бэкапов и интеграции с внешними провайдерами баз данных.
  • Безопасность: Полный контроль на вашем хосте, нет локов от облачных провайдеров.

Если вы устали от бесконечного дебага Dockerfile и настройки прокси, Coolify сэкономит вам часы времени.

Быстрый старт: Установка Coolify на VPS за 5 минут

Для установки вам понадобится VPS с Ubuntu/Debian, Docker и хотя бы 2 ГБ RAM. Подойдет любой провайдер (Hetzner, DigitalOcean, Linode и т.д.). Процесс занимает 5-10 минут.

Шаг 1: Подготовка VPS

  1. Зарегистрируйтесь у провайдера и создайте VPS (рекомендуется Ubuntu 22.04 LTS).
  2. Подключитесь по SSH:
    ssh root@your_vps_ip
    
  3. Обновите систему:
    sudo apt update && sudo apt upgrade -y
    

Шаг 2: Установка Docker (если еще не установлен)

Coolify работает на Docker, поэтому сначала установите его:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker  # Перезагрузите сессию или выполните exit и залогиньтесь снова

Шаг 3: Установка Coolify

Запустите официальный скрипт установки (он автоматически скачивает и запускает контейнеры):

curl -sSL https://get.coollabs.io/coolify/install.sh | bash

Этот скрипт:

  • Проверяет систему.
  • Скачивает docker-compose.yml.
  • Запускает контейнеры Coolify (веб-интерфейс и агенты).

Шаг 4: Настройка первого доступа

После установки вы увидите в выводе URL веб-интерфейса (обычно http://your_vps_ip:8000). Откройте его в браузере.

  1. Создайте аккаунт администратора (введите email и пароль).
  2. В настройках добавите ваш VPS как "Server": введите IP, SSH-ключ (сгенерируйте на локальной машине: ssh-keygen и скопируйте публичный ключ на VPS в ~/.ssh/authorized_keys).

Проверка: Если интерфейс недоступен, убедитесь, что порт 8000 открыт в файрволе:

sudo ufw allow 8000/tcp
sudo ufw reload

Теперь у вас есть полноценная панель управления! Для продакшена добавьте обратный прокси (см. раздел "Бонус").

Основной разбор функций: One-click деплой, авто-SSL, базы данных и CI/CD

Coolify делает развертывание простым, как никогда. Рассмотрим ключевые функции на примере развертывания Node.js приложения.

One-click деплой

  1. В интерфейсе Coolify перейдите в "Projects" -> "New Project".
  2. Выберите тип: "Application" (для веб-приложений) или "Service" (для баз данных, кеша и т.д.).
  3. Укажите источник: Git-репозиторий (GitHub, GitLab, Bitbucket) или Docker-образ.
    • Пример: Введите URL вашего репо https://github.com/user/repo.git.
    • Coolify автоматически определит стек (Node.js, Python и т.д.) и предложит Dockerfile или Buildpack.
  4. Настройте переменные окружения (например, NODE_ENV=production), команды сборки (npm install) и запуска (npm start).
  5. Нажмите "Deploy" — контейнер соберется и запустится за минуту.

Поддерживается мульти-деплой: несколько репозиториев, веток, автоматический ребилд при коммитах (через webhooks).

Авто-SSL

Coolify интегрируется с Let's Encrypt для бесплатных сертификатов.

  • При создании приложения укажите домен (например, app.example.com).
  • В настройках сервера включите "SSL" и укажите email для уведомлений.
  • Coolify автоматически получит и обновит сертификат, привяжет его к Nginx/Traefik внутри контейнера.

Если домен не настроен, используйте IP:8000 для тестов.

Базы данных

Coolify поддерживает one-click развертывание баз:

  • Перейдите в "Services" -> "New Service".
  • Выберите: PostgreSQL, MySQL, Redis, MongoDB и др.
  • Укажите версию, пароль и объем диска.
  • Coolify создаст контейнер с томом для данных (бэкапы вручную или через крон).

Для привязки к приложению: в настройках приложения добавьте переменные вида DATABASE_URL=postgres://user:pass@db-host:5432/dbname (Coolify автоматически подставит хост из сервиса).

CI/CD

  • Интеграция с Git: Webhooks автоматически запускают деплой при коммитах в main/production ветки.
  • Билд-пакеты: Автоматически определяет Node.js, Python, Go и собирает без Dockerfile.
  • Мониторинг: Встроенные логи (Real-time logs), метрики производительности и уведомления в Telegram/Slack.
  • Бэкапы: Настройте cron для бэкапа баз данных на внешнее хранилище (S3, локальный диск).

Для расширенного CI/CD можно интегрировать с GitHub Actions, где ваш workflow вызывает API Coolify для деплоя.

Coolify vs Hetzner vs DigitalOcean: Где размещать и сколько это стоит

Coolify — не хостинг, а панель. Ее можно установить на любой VPS. Сравнение с популярными провайдерами:

ПровайдерЦена за базовый VPS (2 ГБ RAM, 1 vCPU)Плюсы для CoolifyМинусы
Hetzner (Германия/Финляндия)€4.15/мес (CX21)Дешевый, высокая производительность, много локаций. Идеален для EU-пользователей.Иногда медленная поддержка, требуется ИП/юр. лицо для некоторых опций.
DigitalOcean$6/мес (Basic 2 ГБ)Простота, отличная документация, мгновенные snapshot. США/Европа.Дороже Hetzner, ограничения по bandwidth.
Linode (Akamai)$5/мес (Nanode 1 ГБ)Глобальные DC, хороший Uptime.Аналогично DO, меньше фич в базовом тарифе.

Стоимость Coolify: Бесплатно (open-source). Платные фичи (Enterprise) — от $15/мес, но для большинства хватает бесплатной версии.

Рекомендации:

  • Для старта: Hetzner (дешевле, быстрее).
  • Для глобальной аудитории: DigitalOcean с CDN.
  • Бюджет: На дешевом VPS (от $2/мес от Vultr или Hostinger) Coolify работает отлично, но следите за RAM.

Итоговая стоимость для одного приложения: $5-10/мес (VPS) + бесплатный Coolify.

Бонус: Настройка обратного прокси и Wildcard SSL

Для продакшена добавим обратный прокси (Traefik или Nginx) и Wildcard SSL для всех поддоменов. Это скроет порт 8000 и защитит трафик.

Шаг 1: Установка Traefik как Reverse Proxy

Coolify поддерживает Traefik из коробки, но настроим его отдельно для Wildcard.

  1. Создайте файл docker-compose.yml для Traefik на VPS:
    version: '3'
    services:
      traefik:
        image: traefik:v2.10
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - ./traefik.yml:/traefik.yml:ro
          - ./acme.json:/acme.json
        networks:
          - web
    
    networks:
      web:
        external: true
    
  2. Создайте traefik.yml:
    entryPoints:
      web:
        address: ":80"
      websecure:
        address: ":443"
    providers:
      docker:
        endpoint: "unix:///var/run/docker.sock"
        exposedByDefault: false
    api:
      dashboard: true
    certificatesResolvers:
      le:
        acme:
          email: your-email@example.com
          storage: /acme.json
          caServer: "https://acme-v02.api.letsencrypt.org/directory"
          dnsChallenge:
            provider: cloudflare  # Или ваш DNS-провайдер
            resolvers:
              - "1.1.1.1:53"
    
  3. Запустите: docker network create web && docker-compose up -d.
  4. В DNS вашего домена (например, Cloudflare) настройте wildcard *.example.com на IP VPS.

Шаг 2: Привязка Coolify к Traefik

  1. В интерфейсе Coolify перейдите в "Servers" -> ваш сервер -> "Proxy" и выберите "Traefik".
  2. Укажите сеть web и включите Wildcard SSL (Traefik сам получит сертификат через DNS-чалленж).
  3. Для каждого приложения в Coolify укажите домен app.example.com. Traefik автоматически проксирует трафик с SSL.

Шаг 3: Проверка Wildcard SSL

  • Проверьте сертификат: docker exec -it traefik_container_name traefik config test.
  • Откройте https://app.example.com — должно работать с автоматическим SSL.

Если используете Cloudflare, включите "Proxy mode" для дополнительной защиты (DDoS, кэширование).

Заключение: Ваша первая развернутая приложение

Теперь у вас есть полноценная Self-Hosted альтернатива Heroku на базе Coolify. Начните с простого: разверните тестовое Node.js приложение, добавьте базу данных и настройте домен. Это займет час, но сэкономит тысячи долларов в год.

Coolify — это свобода без компромиссов: вы контролируете все, сохраняя удобство. Попробуйте на своем VPS, и вы уже не вернетесь к ручному Docker. Если столкнетесь с проблемами, документация Coolify (coolify.io/docs) и сообщество в Discord помогут быстро. Удачи в деплое!

Поделиться:TelegramX / TwitterVK