Coolify vs Dokploy: собираем свой Vercel на дешевом VPS

Платить за Vercel или Heroku не очень удобно, особенно когда приходит счет за превышение лимитов. Когда возникает потребность поднять свой PaaS на дешевом VPS, выбор обычно сводится к старожилу Coolify и молодому Dokploy. Разберем, почему популярный комбайн уступает новичку и куда перекатывать свои пет-проекты. Ведь мы пишем код, чтобы поменьше работать, а не чтобы круглосуточно дебажить конфиги веб-сервера.

Установка и потребление ресурсов

Развертывание обеих панелей сводится к запуску одного bash-скрипта на чистой ОС Ubuntu.

StoDum
# разворачиваем Coolify
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

# разворачиваем Dokploy
curl -sSL https://dokploy.com/install.sh | sh

По документации обе системы требуют около 1 ГБ оперативной памяти. Разница кроется в нагрузке на процессор. Coolify написан на PHP с использованием фреймворка Laravel. В простое эта связка отъедает 6–7% CPU, а при включении встроенных метрик показатель быстро растет. Для арендованного сервера за пару долларов это ощутимая потеря вычислительной мощности.

Dokploy собран на базе Next.js и TypeScript. В состоянии покоя он забирает скромные 0.8–1.5% CPU. Чтобы убедиться в этом самостоятельно, достаточно подключиться по SSH и посмотреть метрики запущенных контейнеров:

StoDum
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Кроме того, с Dokploy меньше сюрпризов при локальном развертывании. Если Coolify периодически требует ручной настройки файрвола и возни с ключами доступа, то его конкурент заводится с первого раза без танцев с бубном.

Архитектура проектов и бэкапы

В Coolify заложена глубокая иерархия. При создании инфраструктуры вы идете по длинному пути Teams -> Projects -> Environments -> Resources. Это отлично работает для больших команд, но избыточно для личных задач. Dokploy предлагает плоскую и понятную структуру по пути Projects -> Services.

При подключении репозиториев Dokploy нативно интегрируется не только с GitHub, но и с GitLab, Bitbucket и Gitea. Обе платформы умеют отправлять дампы баз данных в S3-совместимые хранилища. Однако Dokploy позволяет нативно бэкапить сами Docker-тома, что критично для переноса stateful-приложений. Под капотом для этого используется простая синхронизация содержимого примонтированного тома с облачным бакетом:

StoDum
# пример того, как синхронизация томов работает на уровне Docker
docker run --rm \
  -v my_app_data:/data \
  -e AWS_ACCESS_KEY_ID=ваш_ключ \
  -e AWS_SECRET_ACCESS_KEY=ваш_секрет \
  amazon/aws-cli s3 sync /data s3://my-bucket/backup/

Если вы работаете за NAT без белого IP-адреса, Coolify выигрывает за счет встроенной поддержки туннелей Cloudflare. В Dokploy этот функционал настраивается вручную. Вам потребуется добавить новый сервис с образом cloudflared рядом с вашим приложением:

StoDum
services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    command: tunnel run
    environment:
      - TUNNEL_TOKEN=ваш_токен_из_cloudflare
    restart: unless-stopped

Интерфейс и лицензирование

Чистый интерфейс — главная причина миграции на Dokploy. Он ощущается как монолитное отзывчивое приложение с предсказуемым поведением. В Coolify вас встретят хаотично разбросанные кнопки Save, неочевидная навигация и навязчивые всплывающие окна с просьбами задонатить или сохранить пароль.

В вопросах лицензий все не так однозначно. Coolify распространяется как классический Open Source под лицензией Apache 2.0. Вы вольны делать с кодом что угодно. Ядро Dokploy также открыто, но мульти-серверность и превью-деплои защищены строгим лицензионным соглашением: продавать их как часть своего SaaS-решения запрещено.

Выбор инструмента под свои задачи

Для типовых проектов и небольших продакшен-решений смело ставьте Dokploy. Вы получите отзывчивый UI, низкое потребление процессора и быструю настройку сервисов.

Остаться на Coolify целесообразно при совпадении трех условий:

  1. нужна сложная система окружений для разделения этапов разработки;
  2. критична поддержка Cloudflare Tunnels прямо из графического интерфейса;
  3. планируется коммерческое использование платформы без оглядки на ограничения лицензии.