Coolify + Claude Code: деплой вайб-проекта на свой VPS за 15 минут (пошаговая инструкция)

Опубликовано 24.05.202623 мин чтенияСредний
Стилизованный VPS-сервер с интерфейсом Coolify, откуда быстро запускается яркий вайб-проект.
Что узнаешь
  • Почему Vercel и Heroku недоступны для русских вайб-кодеров с 2022 года
  • Какой российский VPS взять под Coolify в 2026 (5 провайдеров, цены 679-1200 ₽/мес)
  • Как поставить Coolify одной командой за 5 минут
  • 6 шагов от пустого репо до live HTTPS-сайта на своём домене
  • Как Claude Code управляет Coolify через MCP (3 варианта + нативный с v4.1.0)
  • 5 типичных граблей и как их обойти - Let's Encrypt, UFW, RAM, GitHub App
Применить за 15 мин
Сэкономит 8 ч
Средний
5просмотров

Каждый день в Telegram-канале и MAX - что нового в вайб-кодинге: инструменты, примеры, ошибки. Подпишись, чтобы быть в курсе актуального.

Почему Vercel и Heroku - тупик для русского вайб-кодера в 2026?

Типичный сценарий вайб-кодера в 2026: собрал MVP в Cursor или Claude Code за вечер, перевёл его в репозиторий на GitHub, открыл vercel.com → подключил репо → дошёл до экрана подписки → ввёл карту → получил Transaction declined.

Это не баг и не временный сбой. Vercel использует международный платёжный процессор, который блокирует транзакции с российских карт на уровне BIN-кода. Visa, Mastercard, МИР - все режутся одинаково, потому что номер карты сразу выдаёт страну выпуска. Виртуальные карты от российских банков работают по такому же принципу - первые 6 цифр выдают страну.

Railway, Render, Heroku - история та же. У Heroku вообще закрылся free tier для всех в 2022 году, а в феврале 2026 проект перешёл в sustaining-mode - без новых возможностей, без новых Enterprise-контрактов. Для русского вайб-кодера это означает: «дверь закрыта, иди в обход через посредника с комиссией 20%».

Можно платить через Payholder, виртуальные карты Visa в Казахстане, корпоративные платёжки. Но это +20% к цене, +30 минут на каждую транзакцию, и риск, что аккаунт заблокируют, когда платёжный процессор увидит несоответствие страны.

Я попробовал три раза - на Vercel Pro, Railway, Render. На втором месяце надоело. С весны 2026 я держу всё на Coolify - один российский VPS за 850-1100 ₽/мес покрывает все мои продукт-проекты.

Что такое Coolify и почему это «свой Vercel за 700 ₽»?

Coolify - это open-source проект на Laravel + Docker, который превращает любой пустой VPS в платформу публикации приложений. Один раз ставишь Coolify - дальше всё остальное идёт через веб-интерфейс: подключаешь GitHub, выбираешь репо, нажимаешь Deploy.

В официальной документации формулировка короткая и точная:

Coolify is an open-source & self-hostable alternative to Heroku / Netlify / Vercel / etc.

Coolify GitHub README, https://github.com/coollabsio/coolify

Под капотом Coolify - это связка из 4 кусков:

  1. Веб-интерфейс на Laravel 12 + Livewire 3 + Tailwind v4 - дашборд, в котором ты управляешь приложениями.
  2. Docker + Docker Compose - каждое приложение крутится в контейнере, изоляция от соседей.
  3. Reverse-proxy (Traefik или Caddy) - принимает входящий HTTP/HTTPS-трафик и роутит на контейнеры.
  4. Let's Encrypt-интеграция - автоматически выдаёт и обновляет SSL-сертификаты для всех доменов.

Ключевые возможности, которые делают Coolify равным Vercel по функционалу:

ФичаVercelCoolify
Auto-deploy по git push✅ (через GitHub webhook)
Бесплатный HTTPS✅ (Let's Encrypt)
Preview-деплои PR✅ (через GitHub App)
Environment variables UI
Бэкапы базы данных❌ (нет своих БД)✅ (на S3-compatible storage)
PostgreSQL / Redis / MongoDB$20+/мес каждая✅ One-click, бесплатно
Scheduled tasks (cron)✅ (cron-синтаксис)
Per-seat биллинг$20/seat/месНет
Вендор-локВысокий (Edge Functions, ISR)Нулевой (твой Docker)
CDN глобальный❌ (только твой VPS)

Глобальный CDN - единственное, чего у Coolify нет из коробки. Это честно. Если у тебя проект с глобальной аудиторией и нужно сократить latency для пользователей из США и Европы - ставь Cloudflare поверх, это бесплатно для статики.

Цена: self-hosted версия бесплатна навсегда без ограничений по количеству приложений, серверов, deployment'ов. Есть платный Coolify Cloud за $5/мес для 2 серверов + $3 за каждый дополнительный - но и там сами серверы свои, Coolify Cloud просто хостит дашборд.

Последний релиз - v4.1.0 от 18 мая 2026. Из нового: beta build-pack Railpack, audit-логирование, diff конфигурации между публикациями, нативный MCP-эндпоинт (read-only). Источник: GitHub releases.

Какой VPS взять под Coolify в 2026?

Минимальные требования Coolify взяты прямо из официальной документации:

ПараметрМинимумРекомендую
CPU2 cores2-4 cores
RAM2 GB4 GB (с запасом под билд)
Storage30 GB50-80 GB (на образы + БД)
АрхитектураAMD64 или ARM64 (64-bit)AMD64
ОСUbuntu LTS 20.04 / 22.04 / 24.0422.04 LTS
RootОбязателенЧерез SSH-ключ, не пароль

Минимум - 2 GB RAM - это жёсткий нижний порог. На 1 GB установщик доходит до Docker, упирается в OOM (out of memory), повисает. Я тестировал на VPS за 200 ₽/мес - не запустилось. Не экономь на оперативке.

Сравнение российских провайдеров на майскую конфигурацию «2 vCPU + 4 GB RAM + 40-60 GB NVMe»:

ПровайдерТарифЦена/месОсобенностиОплата
FirstVDS«Разгон»679 ₽2 vCPU / 4 GB / 60 GB SSD, KVMМИР, СБП
Selectelбазовая VPSот 800 ₽гарантированные ресурсы, NVMeМИР, СБП, корп.
Timeweb Cloud MSK 40базовая882 ₽2 vCPU / 2 GB / 40 GB NVMe, почасовая оплатаМИР, СБП, ЮMoney
Timeweb Cloud MSK 50«Выбор клиентов»1062 ₽2 vCPU / 4 GB / 50 GB NVMeМИР, СБП, ЮMoney
Beget VPSбазовый~1200 ₽2 vCPU / 4 GB / 40 GB NVMe, 30 дней триалМИР, СБП
Aeza Dedicatedбазовый~1200 ₽Ryzen 9 9950X, NVMe, 25 Гбит/с, DDoS-защитаМИР, СБП, YooMoney

Источники цен: Timeweb Cloud, FirstVDS, Selectel, обзоры vc.ru.

Если выбираешь первый раз - бери Timeweb Cloud MSK 50 за 1062 ₽/мес. У него почасовая тарификация (можно поднять за 50 ₽ и убить через час), оплата картой без танцев, дата-центр в Москве с низким пингом из РФ, и 4 GB RAM, в которые помещается Coolify + 3-4 средних проекта. Я держу свои продакшен-сервисы у них и у Selectel - оба работают стабильно, поддержка отвечает за 5-10 минут.

Если нужно мощнее (база на 100 ГБ, несколько Postgres-инстансов) - бери Aeza Dedicated. Ryzen 9 9950X - самый быстрый CPU у российских провайдеров на середину 2026, NVMe-диски с реальными 4000+ MB/s, безлимитный трафик. Цена та же 1200 ₽/мес, железо в 2 раза мощнее.

Что НЕ брать:

  • Shared VPS на 512 МБ - 1 ГБ RAM за 200-500 ₽ - не хватит даже на Coolify. Это для статических сайтов на nginx, не для PaaS.
  • Зарубежные провайдеры (Hetzner, DigitalOcean, Vultr) - не принимают РФ-карты. Ты вернёшься к той же проблеме, что и с Vercel.

Хочешь не только настроить деплой, но и собрать связку, которая делает Claude стабильным? Coolify - это инструмент исполнения, но без структурированного контекста (CLAUDE.md, второго мозга, контекст-инжиниринга) Claude всё равно будет галлюцинировать на длинных задачах. На практикуме за 3 эфира собираешь все три: ИИ-клон + Второй мозг + Контекст-инжиниринг - именно эта связка превращает Claude из «помощника с галлюцинациями» в надёжный инструмент.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - стек, метод, первый проект
Старт 26–28 мая  ·  2 000 ₽
Записаться →

Как поставить Coolify за 5 минут?

Шаг 1. Заходим на VPS по SSH.

После того как создал VPS у провайдера (Timeweb / FirstVDS / Aeza), на email или в панели появится IP-адрес сервера и пароль root. Подключаешься с локальной машины:

bash
ssh root@1.2.3.4

Если провайдер дал не пароль, а SSH-ключ - подключаешься с -i path/to/key. Дальше я предполагаю, что ты на свежем Ubuntu 22.04 или 24.04 LTS.

Шаг 2. Запускаем install-команду Coolify.

Одна команда из официальной документации:

bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

Скрипт выполняет три вещи:

  1. Проверяет систему (Ubuntu LTS? root? AMD64?)
  2. Ставит Docker и Docker Compose, если их нет
  3. Скачивает образы Coolify (coolify/coolify, coolify/realtime, traefik), запускает их через docker-compose в фоне

Это занимает 3-5 минут. На экране пробегают логи apt-get, потом docker pull. Когда увидишь Coolify v4.1.0 is now running, переходи к шагу 3.

Шаг 3. Открой веб-интерфейс.

Открой в браузере:

http://1.2.3.4:8000

Coolify покажет setup wizard - форму создания первого пользователя. Введи email и пароль, сохрани. Этот юзер автоматически становится admin'ом, других пользователей пока не нужно.

После сохранения попадёшь в пустой дашборд: слева сайдбар с пунктами Resources / Projects / Servers / Sources / Notifications / Settings, в центре - предложение «Add your first resource».

Шаг 4. Открой порты в firewall провайдера (а не UFW).

Coolify уже работает, но снаружи доступен только порт 8000 (дашборд). Чтобы пользователи попадали на твои приложения, нужно открыть 80 (HTTP) и 443 (HTTPS):

ПортЗачем
22SSH-доступ к серверу
80Принимает HTTP-трафик, нужен для Let's Encrypt валидации
443Принимает HTTPS-трафик пользователей
8000Дашборд Coolify (после настройки кастомного домена для дашборда - закроем)

Важная ловушка из официальной документации:

Docker uses NAT-based iptables rules that can bypass traditional Linux firewalls like UFW.

Coolify Docs (firewall), https://coolify.io/docs/knowledge-base/server/firewall

Это значит: даже если ты включил UFW и закрыл все порты, Docker всё равно пробросит свои контейнеры наружу через iptables. UFW здесь бесполезен. Решение - открой и закрой порты в админке провайдера, а не через UFW. У Timeweb / Selectel / Aeza это делается в разделе «Сеть → Firewall» в веб-кабинете.

Шаг 5 (опционально). Привяжи дашборд к своему домену.

Чтобы заходить не по http://1.2.3.4:8000, а по https://coolify.example.com, создай DNS A-record coolify.example.com → 1.2.3.4, в Coolify иди в Settings → Instance Settings → Instance Domain, впиши свой поддомен, сохрани. Coolify запросит сертификат Let's Encrypt и через минуту перерендерит дашборд на HTTPS.

После этого порт 8000 можно закрыть в firewall - дашборд будет доступен через HTTPS на стандартном 443.

Как подключить GitHub: App или PAT?

В Coolify идём Sources → + Add → GitHub App. Coolify покажет мастер из 3 экранов:

  1. Name & description - имя источника (напиши github-main) и опциональное описание.
  2. Configure on GitHub - кнопка, которая ведёт на GitHub.com и автоматически открывает форму создания GitHub App с правильными permissions.
  3. Confirm - после возврата с GitHub нажми «Save».

На втором шаге GitHub попросит подтвердить permissions, которые Coolify запрашивает:

PermissionУровеньЗачем
ContentsRead-onlyКлонировать репо
Pull RequestsRead-writeСоздавать preview-деплои и комментировать PR
Email addressesRead-onlyИдентификация коммитов
MetadataRead-onlyСписок репозиториев

Это минимальные permissions - GitHub App не видит твои приватные ключи, не пишет в main, не имеет доступа к repos, которые ты не подключил явно.

Из официальной документации:

For 95% of users, the GitHub App is the right answer. The setup takes 5 minutes once and unlocks every feature Coolify has for GitHub.

Ellie Grace Hayes, LumaDock, https://lumadock.com/tutorials/coolify-github

Personal Access Token (PAT) - старый способ, рекомендую не использовать. Минусы:

  • PAT даёт глобальный доступ ко всем твоим репозиториям (включая приватные)
  • PR previews не работают - это эксклюзивная возможность GitHub App
  • Токен живёт долго (90 дней, год или бесконечно) - если утечёт, плохо

Используй PAT, только если работаешь с organization-репо, где политика безопасности запрещает GitHub Apps, и нет шанса её обойти.

После сохранения источника в Coolify ты увидишь в дашборде GitHub App со списком подключённых репозиториев. Дальше при создании нового приложения сможешь выбрать любой из них одним кликом.

Как задеплоить Next.js-проект из Claude Code за 6 шагов?

Шаг 1. Опиши проект Claude Code в пустой папке.

bash
mkdir my-vibe-app
cd my-vibe-app
git init
claude

В сессии:

Собери Next.js 14 app router-проект:
- главная страница со списком пользователей
- /api/users эндпоинт возвращает массив из БД
- Postgres через Prisma
- Tailwind для стилей
- .env.example с DATABASE_URL
- README.md с инструкцией по запуску

Claude сгенерирует структуру файлов, package.json, prisma/schema.prisma, .env.example. Дополнительно попроси:

Сделай Dockerfile для production-сборки и .dockerignore.

Не обязательно - Coolify сам соберёт через Nixpacks даже без Dockerfile. Но Dockerfile даёт тебе контроль над процессом, и при больших проектах он быстрее.

Шаг 2. Создай репо на GitHub и запушь.

Можно вручную через GitHub UI + git remote add origin ..., но Claude Code умеет сделать это сам:

/commit-push-pr Initial Next.js app generated with Claude Code

Или просто фразой: «закоммить всё и запушь в новый репо my-vibe-app под моим аккаунтом». Claude через gh CLI создаст приватный (или публичный) репо и сделает первый push. Источник: официальная Claude Code команда.

Шаг 3. В Coolify создай Application.

В дашборде Coolify нажми + New → Application. Откроется форма:

  1. Source - выбери github-main (тот GitHub App, что подключил в предыдущем H2)
  2. Repository - выбери my-vibe-app из списка
  3. Branch - main
  4. Build Pack - Coolify сам определит. Если есть Dockerfile - подставит dockerfile. Если нет - nixpacks. Можно перебить руками.
  5. Domain - оставь предложенный (xxx.sslip.io) - временный, потом заменим на свой
  6. Port - 3000 для Next.js по умолчанию

Сохрани.

Шаг 4. Добавь environment variables.

В созданном приложении - таб Environment Variables. Добавь по одной переменной:

DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...

Если базы нет - создай прямо в Coolify: + New → Database → PostgreSQL. Coolify запустит контейнер с Postgres за 30 секунд и даст внутренний DATABASE_URL формата postgresql://postgres:pass@postgres-xyz:5432/postgres - подставляешь его в приложение.

Все переменные шифруются в базе Coolify и не показываются в логах сборки.

Шаг 5. Нажми Deploy.

В правом верхнем углу - синяя кнопка Deploy. Логи в реальном времени появятся в табе Logs:

[stage: clone]   Cloning github.com/you/my-vibe-app
[stage: build]   Detected Next.js, using Nixpacks
[stage: build]   Installing Node 20, npm 10
[stage: build]   npm install (245s)
[stage: build]   npm run build (87s)
[stage: deploy]  Creating container my-vibe-app-xyz
[stage: deploy]  Container started, health check passed
[stage: proxy]   Traefik routing configured for xxx.sslip.io
[stage: ssl]     Let's Encrypt cert issued for xxx.sslip.io

Первый билд - 3-5 минут (тянет Node base image + ставит зависимости). Последующие билды - 60-90 секунд за счёт Docker layer cache.

Когда статус сменится на Running - открой URL https://xxx.sslip.io в браузере. Должна открыться твоя главная страница с HTTPS из коробки. sslip.io - это бесплатный сервис wildcard-DNS, который резолвит любой поддомен на IP в имени (1-2-3-4.sslip.io1.2.3.4). Coolify использует его для временных доменов, чтобы ты сразу мог открыть сайт, не настраивая свой DNS.

Шаг 6. Проверь, что всё работает.

Открой https://xxx.sslip.io/api/users - должен вернуться JSON. Если 500-ошибка - в табе Logs увидишь stack trace. Самая частая проблема на первой публикации - DATABASE_URL указывает на несуществующую базу. Лечится через создание PostgreSQL-инстанса в Coolify (см. шаг 4 выше) и переподстановку DATABASE_URL.

15 минут, отсчёт пошёл с момента, когда ты заказал VPS. У меня этот workflow укладывается в 12-18 минут на свежем сервере.

Как настроить кастомный домен и HTTPS?

Шаг 1. Создай DNS A-record в админке регистратора.

У большинства русских вайб-кодеров домены лежат на Reg.ru, Beget или Timeweb. Логика одна:

Тип записиИмяЗначение
Aapp (или @ для корня)1.2.3.4 (IP сервера)

Запиши, нажми «Сохранить», открой консоль и проверь:

bash
dig app.example.com +short
# Должен вернуть 1.2.3.4

Если возвращает пусто или другой IP - DNS ещё не пропагировался. Подожди 5-30 минут.

Шаг 2. В Coolify подставь свой домен.

В приложении - таб Configuration → General. Поле Domains: замени https://xxx.sslip.io на https://app.example.com. Включи галку Automatic HTTPS (обычно включена по умолчанию).

Сохрани и нажми Redeploy.

Шаг 3. Дождись Let's Encrypt сертификата.

В логах сборки появится:

[stage: ssl]  Requesting Let's Encrypt cert for app.example.com
[stage: ssl]  HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl]  Validation passed, cert issued
[stage: ssl]  Cert installed, HTTPS enabled

Через 2-3 минуты твой сайт открывается на https://app.example.com с зелёным замком в адресной строке.

Что может пойти не так с Let's Encrypt (топ-3 проблемы из официального troubleshooting):

  1. Порт 80 закрыт в firewall. Let's Encrypt валидирует через HTTP challenge - бьёт на http://app.example.com/.well-known/acme-challenge/xxx. Без 80-го порта не пройдёт. Открой в firewall провайдера.
  2. Cloudflare proxy включен (оранжевое облако). Оно ловит запрос Let's Encrypt и возвращает свою заглушку - валидация падает. Решение: переключи на «DNS only» (серое облако), либо настрой DNS-01 challenge через Cloudflare API.
  3. DNS ещё не пропагировался. Если ты сделал A-record 30 секунд назад и сразу нажал Redeploy - Let's Encrypt не увидит твой домен. Подожди 5-30 минут, чтобы DNS разлетелся по серверам.

Rate-limit Let's Encrypt: 5 неудачных попыток в час для одного домена, восстановление по 1 в 12 минут. Если упёрся - не дёргай Redeploy 10 раз подряд, посмотри логи, реши проблему, попробуй ещё раз через 12 минут.

Как Claude Code управляет Coolify через MCP?

Model Context Protocol (MCP) - это стандарт от Anthropic, через который Claude Code говорит с внешними системами (подробнее - гайд по MCP-серверам). Подключаешь MCP-сервер - Claude получает набор инструментов (tools), которые умеет вызывать. Для Coolify есть три готовых сервера и один нативный.

Вариант 1. forsonny/Coolify-MCP-Server-for-Claude-Code - базовый.

Репозиторий: github.com/forsonny/Coolify-MCP-Server-for-Claude-Code.

Что умеет:

  • Applications: create, start, stop, restart
  • Services: list, create, start/stop/restart
  • Deployments: view running, fetch by UUID
  • Teams & Members: list, get info
  • SSH Keys: list, create
  • Environment Variables: full CRUD для apps и services
  • Server Insights: domains per server, health, version

Установка:

bash
git clone https://github.com/forsonny/Coolify-MCP-Server-for-Claude-Code.git
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# В .env:
#   COOLIFY_BASE_URL=https://coolify.example.com
#   COOLIFY_API_TOKEN=[из Coolify Settings → API Tokens]
npm run setup  # автоматически конфигурирует Claude Code

После этого в Claude Code можно писать:

Покажи статус приложения my-vibe-app в Coolify и последние 3 публикации.

И Claude отдаст таблицу.

Вариант 2. dazeb/coolify-mcp-enhanced - расширенный (рекомендую).

Репозиторий: github.com/dazeb/coolify-mcp-enhanced.

Что добавляет к базовому набору:

  • One-click deploy PostgreSQL / Redis / MinIO через ИИ - попросил «подними мне Postgres», он создал контейнер и вернул DATABASE_URL
  • Real-time monitoring + resource usage - CPU/RAM каждого приложения в реальном времени
  • Bulk env-config updates - обновить 20 переменных одной командой
  • Docker Compose support - публиковать мультисервисные приложения

Конфигурация для Claude Code (.mcp.json в корне проекта):

json
{
  "mcpServers": {
    "coolify-enhanced": {
      "command": "node",
      "args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
      "env": {
        "COOLIFY_ACCESS_TOKEN": "your-token-here",
        "COOLIFY_BASE_URL": "https://coolify.example.com"
      }
    }
  }
}

Вариант 3. ajmcclary/Coolify-Manager - Claude Skill вокруг CLI.

Репозиторий: github.com/ajmcclary/Coolify-Manager.

Не MCP-сервер, а Claude Code Skill, который оборачивает официальный Coolify CLI. Что внутри:

  • Health diagnostics для services и контейнеров
  • SSL certificate diagnostics
  • Multi-instance support (если у тебя несколько Coolify-серверов)
  • Troubleshooting рецепты

Установка: скачать skill, положить в ~/.claude/skills/coolify-manager/. Claude Code сам подхватит и предложит при релевантных задачах.

Вариант 4 (новинка мая 2026). Нативный MCP в Coolify v4.1.0.

В changelog v4.1.0 от 18 мая 2026:

Added instance-level MCP support with read-only tools for Coolify resources and API/UI.

Coolify теперь сам предоставляет MCP-эндпоинт - можно подключать Claude Code напрямую без сторонних серверов. Пока только read-only (список приложений, статусы, конфигурации), без операций изменения. Но для большинства задач «расскажи мне про инфру» этого достаточно.

Подключается через .mcp.json:

json
{
  "mcpServers": {
    "coolify-native": {
      "url": "https://coolify.example.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your-api-token>"
      }
    }
  }
}

С полноценным write-доступом в нативном MCP жди в v4.2 или v4.3 - команда Coolify обещала к концу 2026.

5 граблей при первой публикации - и как их обойти

Грабли 1: RAM меньше 2 GB - install падает на OOM.

Симптом: curl install.sh доходит до docker pull coolify/coolify, висит на 70%, потом процесс убивается с Killed (signal 9). В логах dmesg | tail - запись Out of memory: Killed process.

Лечение:

bash
# Создай 4 ГБ 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

Долгосрочно - апгрейд до 4 GB RAM. На swap'е Coolify работает, но билды тяжёлых Next.js-проектов могут падать.

Грабли 2: UFW включён, но Docker всё равно открывает порты.

Симптом: ты включил UFW, закрыл все порты кроме 22, но твоё приложение всё равно доступно из интернета на каком-то рандомном порту (типа 3000).

Причина - из официальной документации:

Coolify runs on Docker, which uses NAT-based iptables rules that can bypass traditional Linux firewalls like UFW.

Coolify Docs (firewall), https://coolify.io/docs/knowledge-base/server/firewall

Лечение: используй firewall в кабинете провайдера, а не UFW. У Timeweb / Selectel / Aeza есть раздел «Firewall» или «Сеть → Firewall», там настраиваешь правила на уровне виртуальной сети - они работают до того, как пакет дойдёт до Docker.

Альтернатива - ufw-docker, скрипт, который патчит UFW для совместимости с Docker. Но это сложнее, чем кликнуть в кабинете.

Грабли 3: Cloudflare proxy (оранжевое облако) ломает Let's Encrypt.

Симптом: после Redeploy в логах Let's Encrypt validation failed - challenge returned 403.

Причина: Cloudflare проксирует HTTP-запрос Let's Encrypt и возвращает свою страницу вместо твоего challenge-файла.

Лечение - один из двух вариантов:

  1. Переключи на «DNS only» (серое облако в Cloudflare). Минус - теряешь Cloudflare CDN и защиту.
  2. Настрой DNS-01 challenge через Cloudflare API. В Coolify иди в Settings → SSL Configuration, выбери Cloudflare provider, подставь API-токен с правами Zone:Read и DNS:Edit. Let's Encrypt будет валидировать через TXT-record, а не HTTP.

Второй вариант сложнее в настройке, но сохраняет Cloudflare proxy.

Грабли 4: PAT вместо GitHub App - PR previews не работают.

Симптом: ты подключил GitHub через Personal Access Token, всё работает, но preview-деплои для PR не создаются. Открыл PR в GitHub - в Coolify ничего не появилось.

Причина: PR previews - это эксклюзивная возможность GitHub Apps. PAT не получает события pull_request через webhook.

Лечение: переподключи GitHub через App. Sources → Add → GitHub App → пройди мастер. Старый PAT-источник можно удалить.

Грабли 5: «Coolify == Vercel» - не до конца правда.

Чего Coolify не делает из коробки:

VercelCoolifyЧто делать
Глобальный CDNНетСтавь Cloudflare поверх (бесплатно для статики)
Incremental Static RegenerationНетrevalidatePath работает только на твоём сервере
Image optimizationНетИспользуй next/image с локальным loader или Cloudflare Images
Автоскейл при пикахНетСкейль вручную, апгрейд VPS
Edge FunctionsНетИспользуй обычные API routes

Если твой проект - high-traffic SaaS с глобальной аудиторией и требованиями к latency < 100 ms по всему миру - Coolify не подойдёт, бери Vercel Enterprise. Если ты вайб-кодер с MVP, который тестируешь на 100-1000 пользователях в день - Coolify покрывает всё.

Из честного обзора self-hosted analysis:

The hidden cost is time. Budget 5-10 hours for initial setup if you've used Docker before.

iShosting self-hosting analysis, https://blog.ishosting.com/en/coolify-vps-self-hosting

15 минут в заголовке этого гайда - это про happy path первой публикации одного проекта. Полная настройка инфраструктуры с мониторингом, бэкапами, алертами - это вечер-два. Не врать себе.

Сколько ты сэкономишь за год по сравнению с Vercel?

Считаю в рублях по курсу 90 ₽/$. Все цены - на конец мая 2026, проверены по официальным прайсам.

Сценарий 1: один прототип с трафиком 100 тыс. посещений в месяц.

ПлатформаРасчётЦена/мес
Vercel Pro$20 базовый + ~$5 bandwidth$25 ≈ 2250 ₽
Coolify + Timeweb MSK 501062 ₽1062 ₽ ≈ $12
Экономия в год~14 000 ₽ ($156)

Сценарий 2: 5 проектов на одном VPS.

ПлатформаРасчётЦена/мес
Vercel Pro$20 базовый + $30 bandwidth + functions$50 ≈ 4500 ₽
Coolify + Aeza Dedicated1200 ₽ (тот же VPS на все 5)1200 ₽ ≈ $13
Экономия в год~39 000 ₽ ($432)

Сценарий 3: команда из 3 разработчиков на 5 проектах.

ПлатформаРасчётЦена/мес
Vercel Pro$60 (3 seats × $20) + $30 bandwidth$90 ≈ 8100 ₽
Coolify + Aeza1200 ₽ (тот же VPS)1200 ₽ ≈ $13
Экономия в год~82 000 ₽ ($912)

Реальный кейс из аналитики MassiveGRID (живой бизнес-app):

Even the fully managed, high-availability option at $89.99/month is 85% cheaper than the $601.30 Vercel bill for the same workload.

MassiveGRID cost comparison, https://massivegrid.com/blog/vercel-vs-self-hosted-coolify-cost-comparison/

Главная польза не в деньгах. Когда переезжаешь на Coolify, исчезает категория «зависишь от чужой платёжной политики». Российские карты у тебя работают всегда. Виртуальные карты Payholder с комиссией 20% - не нужны. Хождения «как мне оплатить $20 в долларах из РФ» - тоже.

Coolify - это не дешёвый Vercel. Это другая категория продукта: ты владеешь инфраструктурой, отвечаешь за неё, экономишь деньги на её сложности.

Если задеплоить прототип - первая задача после генерации в Claude Code, то управление окружением (env, секреты, scheduled tasks, бэкапы) - это часть контекст-инжиниринга. Без структуры «где живёт что» Claude теряется, ты теряешь время на каждую правку. На практикуме показываю всю связку: ИИ-клон (Skills и Subagents под твою методологию) + Второй мозг (база знаний проекта) + Контекст-инжиниринг (Plan Mode, /compact, среда исполнения). Это 3 кита, без которых ИИ галлюцинирует.

Источники

Полная схема по вайб-кодингу за вечер: ИИ-клон + Второй мозг + Контекст-инжиниринг. 3 эфира, 2 000 ₽. Записи остаются у тебя.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - стек, метод, первый проект
Старт 26–28 мая  ·  2 000 ₽
Записаться →
Была инструкция полезна?
Артемий Миллер
Автор
Артемий Миллер
Предприниматель и вайб-кодер

Артемий Миллер - предприниматель и вайб-кодер. Бывший программист, собирает продукты исключительно вместе с ИИ-агентами, без найма разработчиков.

Связанные инструкции

/goal в Claude Code: автономный режим и Agent View в 2026

Команда /goal превращает Claude Code в автономного агента - он сам пишет код, гоняет тесты, чинит ошибки до достижения цели. Agent View показывает все сессии в одном дашборде.

21 мин

11 советов Claude Code в 2026: шорткаты, флаги и команды

11 советов Claude Code из 6 месяцев работы: шорткаты Shift+Tab и Esc Esc, флаги --model и --resume, /команды /compact и /cost, стратегии параллели и самокритики.

15 мин

Контекст-инжиниринг в 2026: что это, чем отличается от промпт-инжиниринга и как применять в Claude Code

Что такое контекст-инжиниринг, чем отличается от промпт-инжиниринга и как настроить в Claude Code. 5 принципов Anthropic, 7 типичных ошибок и рабочая связка за вечер.

20 мин

Claude Code Subagents в 2026: пошаговая инструкция и 5 готовых примеров

Subagents Claude Code - специалисты с собственным контекстом и инструментами, к которым главный чат делегирует узкие задачи. Структура файла, формула description, 5 готовых ролей, антипаттерны и связка с Multi-agent v2 Anthropic.

21 мин

Связанные концепты