Post

Coolify на VPS: створюємо власний безкоштовний Vercel та Heroku для необмеженого деплою

Coolify на VPS: створюємо власний безкоштовний Vercel та Heroku для необмеженого деплою

🇬🇧 Read this article in English


Кожен веброзробник пам’ятає відчуття магії, коли вперше спробував Vercel, Netlify чи старий добрий Heroku: ти просто пишеш у терміналі git push, а через 30 секунд твій додаток уже крутиться на швидкому сервері з готовим доменом, HTTPS-сертифікатом і підключеною базою даних. Жодної метушні з налаштуванням вебсерверів чи ручним оновленням сертифікатів!

Проте згодом настає протверезіння:

  • Heroku повністю закрив безкоштовні тарифи.
  • Vercel та Netlify виставляють неочікувані рахунки на сотні доларів за перевищення мізерних лімітів смуги пропускання чи серверних безсерверних функцій (Serverless).
  • А розгортання в AWS чи Google Cloud вимагає окремого сертифіката архітектора лише для того, щоб не збанкрутувати на конфігураціях.

Але що, якби ви могли отримати абсолютно той самий досвід Vercel чи Heroku на власному VPS за $4–$5 на місяць, запускаючи необмежену кількість додатків, баз даних і пет-проєктів?

Саме для цього створено Coolify — найгарячіший відкритий PaaS-проєкт (Platform as a Service) сьогодення, який стрімко підкорює світ селф-хостингу.

Сучасний інтерфейс дашборду Coolify з активними додатками Мал. 1. Головний дашборд Coolify: живі метрики серверних ресурсів, кластери додатків та баз даних


Що вміє Coolify?

Coolify перетворює будь-який звичайний віртуальний сервер на базі Ubuntu чи Debian у повноцінний автономний хмарний датацентр:

  • Git-Push to Deploy: Підключаєте GitHub чи GitLab репозиторій. Робите пуш у гілку main — Coolify автоматично завантажує код, збирає Docker-образ і перезапускає сервіс без простою (Zero Downtime).
  • Автоматичний HTTPS та домени: Вбудований проксі-сервер Traefik сам замовляє та перевипускає сертифікати Let’s Encrypt для кожного нового проєкту.
  • Бази даних в один клік: Розгортання PostgreSQL, MySQL, Redis, MongoDB, MariaDB або ClickHouse за 5 секунд з уже налаштованими доступами.
  • Каталог додатків (One-Click Apps): Можливість розгорнути готові сервіси в один клік: WordPress, Ghost, Plausible Analytics, Vaultwarden, Uptime Kuma, PocketBase чи Supabase.
  • Автоматичні бекапи: Щоденні зашифровані зліпки баз даних із можливістю відправки в будь-яке S3-хмаровище (Backblaze B2, AWS чи Cloudflare R2).

Вимоги до VPS

Для комфортної роботи стеку рекомендується орендувати VPS із такими параметрами:

  • Процесор: мінімум 2 віртуальні ядра (vCPU).
  • Оперативна пам’ять: від 2 ГБ RAM (рекомендовано 4 ГБ, оскільки збірка проєктів на Node.js/Next.js полюбляє споживати пам’ять під час компіляції).
  • ОС: чиста Ubuntu 22.04 / 24.04 LTS або Debian 12.

Крок 1. Встановлення Coolify в одну команду

Розробники Coolify зробили процес встановлення напрочуд простим і елегантним. Підключіться до свого VPS по SSH:

1
ssh user@your-vps-ip

Виконайте офіційний інсталяційний скрипт:

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

Скрипт автоматично:

  1. Перевірить систему та встановить Docker Engine останньої версії (якщо його ще немає).
  2. Завантажить оптимізовані образи панелі керування Coolify, рушія Traefik та бази даних конфігурацій.
  3. Запустить усю екосистему у фоновому режимі.

Процес займає близько 2–3 хвилин. Наприкінці термінал привітає вас повідомленням про успішний запуск та покаже посилання на вебінтерфейс: http://your-vps-ip:8000.


Крок 2. Первинне налаштування та створення облікового запису

  1. Відкрийте у браузері адресу http://your-vps-ip:8000.
  2. Зареєструйте обліковий запис адміністратора (Email та надійний пароль).
  3. Прив’язка домену панелі керування:
    У налаштуваннях інстансу вкажіть домен, за яким ви хочете відкривати сам Coolify (наприклад, coolify.sedunlab.com). Не забудьте заздалегідь додати A-запис у DNS свого провайдера!
    Coolify автоматично випустить для себе SSL-сертифікат, і панель перейде на захищений https://.

Крок 3. Деплой першого проєкту з GitHub

Давайте запустимо тестовий вебдодаток (наприклад, сайт на Next.js, Astro або Python FastAPI):

  1. У головному меню натисніть Projects ➡️ Create New Project ➡️ оберіть оточення Production.
  2. Натисніть + New Resource та оберіть Public/Private Repository (GitHub).
  3. Підключіть свій обліковий запис GitHub (можна налаштувати офіційний GitHub App для миттєвих вебхуків або просто надати доступ через Deploy Key).
  4. Оберіть потрібний репозиторій та гілку (зазвичай main).
  5. Coolify автоматично просканує репозиторій і визначить тип додатку:
    • Якщо є Dockerfile — збиратиме за ним.
    • Якщо є package.json — збере через Nixpacks (аналог Buildpacks у Heroku).
    • Якщо є docker-compose.yml — запустить як стек.
  6. У полі Domains вкажіть ваш бажаний домен (наприклад, app.sedunlab.com).
  7. Натисніть велику фіолетову кнопку Deploy!

У вкладці Deployment Logs ви в реальному часі побачите процес інсталяції залежностей та збірки контейнера. За 30–60 секунд додаток підніметься, а Traefik миттєво підхопить трафік і видасть зелений замочок SSL.


Крок 4. База даних PostgreSQL в один клік

Якщо вашому додатку потрібна база даних:

  1. У тому самому проєкті натисніть + New Resource ➡️ Database ➡️ PostgreSQL.
  2. Вкажіть ім’я бази. Coolify автоматично згенерує надійний пароль та внутрішній рядок підключення (postgres://user:password@host:5432/dbname).
  3. Ви можете зв’язати базу даних із вашим додатком просто через внутрішню Docker-мережу без публічного відкриття порту 5432 в інтернет — це забезпечує найвищий рівень безпеки!
  4. У вкладці Backups увімкніть щоденне резервне копіювання: вкажіть розклад cron (наприклад, 0 3 * * *) та дані вашого S3-бакета.

Золота порада: Налаштуйте Swap-файл!

Під час компіляції важких фронтенд-фреймворків (npm run build) процеси Webpack чи Vite можуть короткочасно споживати понад 2 ГБ оперативної пам’яті. Якщо фізична RAM вичерпається, сервер аварійно вб’є процес збірки помилкою OOMKilled.

Щоб цього ніколи не сталося, створіть на VPS 4 ГБ файлу підкачки (Swap):

1
2
3
4
5
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

Тепер збірки проходитимуть залізобетонно стабільно навіть на найдешевшому сервері!


Висновок: Свобода від хмарних лімітів

Coolify — це ковток свіжого повітря для сучасної інженерної спільноти. Ви зберігаєте швидкість та комфорт найкращих платформ світу, але:

  • Платите лише фіксовану ціну за залізо VPS ($4–$10 замість сотень доларів у хмарах).
  • Ваші дані та бази даних належать виключно вам.
  • Жодних лімітів на кількість сайтів, проєктів чи кастомних доменів.

Спробуйте підняти Coolify на вільному сервері — це назавжди змінить ваш погляд на деплой pet-проєктів та комерційних сервісів! 🚀✨

This post is licensed under CC BY 4.0 by the author.