Назад

Хостинг Next.js: розгортання з Git на VPS з фіксованою ціною

Цей варіант хостингу Next.js розгортає ваш застосунок з репозиторію GitHub на власному VPS: панель розгортання Coolify уже встановлена, ви підключаєте репозиторій, і кожен git push викладає нову версію за адресою HTTPS. Ви платите фіксовану місячну суму, без окремої плати за запити, хвилини збірки чи трафік. Це працює однаково, чи код написав інструмент ШІ, чи ви, а доступ root — ваш.

Якого розміру ваш сайт?

Разом$6.91/міс.

Ціни містять ПДВ.

Збільшуйте або зменшуйте RAM і CPU, коли захочете. Диск можна лише збільшувати, тож почніть з малого.

Що встановлено на вашому сервері Next.js?

  • Coolify 4.6.0 — панель з відкритим кодом, що збирає з вашого репозиторію GitHub і розгортає результат
  • Інструмент збірки Railpack, який розпізнає Next.js; Coolify позначає його як бета-версію, а ще є варіант із Dockerfile
  • Docker і зворотний проксі Traefik, який отримує й поновлює сертифікати HTTPS
  • Готовий обліковий запис адміністратора, вітальний майстер пропущено, публічну реєстрацію закрито
  • Адреси sslip.io, тож усе відкривається через HTTPS ще до додавання домену
  • 2 ГБ swap і брандмауер із відкритими портами 22, 80, 443, 6001, 6002 і 8000

Який розмір потрібен для Next.js?

Офіційного обсягу RAM для Next.js немає, а вимоги визначає насамперед збірка, а не робота застосунку. У наших тестах на справжніх серверах з 4 ГБ і 2 ядрами чат-застосунок на ШІ з близько 85 пакетами збирався приблизно 3,7 хвилини, на піку використав 3,5 ГБ пам’яті, зайшов у підкачку й зайняв 18 ГБ диска. На 2 ГБ цей застосунок вичерпав пам’ять під час перевірки TypeScript, хоча малий приклад пройшов. Починайте з 4 ГБ, а для проєктів з багатьма пакетами подумайте про 8 ГБ. RAM і процесор згодом можна збільшувати чи зменшувати, а диск лише зростає.

ВикористанняРозмірЦінаОбрати
Новий сайт 4 GB RAM · 2 vCore · 60 GB NVMe $6.91/міс.
Сайт, що росте 8 GB RAM · 4 vCore · 120 GB NVMe $13.63/міс.
Завантажений сайт 16 GB RAM · 8 vCore · 200 GB NVMe $25.18/міс.

Кому підійде?

  • Усі, хто випускає застосунок Next.js, написаний вручну чи за допомогою інструментів ШІ
  • Ті, хто воліє наперед знати місячні витрати, а не стежити за зростанням рахунку за використання
  • Застосунки з обробниками черг, WebSocket або довгими відповідями ШІ
  • Проєкти, що тримають базу даних на тому самому сервері, що й застосунок

Що буде після замовлення?

  1. Задайте розмір і завершіть оплату. Ваш сервер запускається, а Coolify встановлюється сам. У наших тестах на справжніх серверах це зайняло близько 12 хвилин.
  2. У панелі відкрийте свій сервер у розділі «Мої сервери». Для входу в Coolify скористайтеся рядками «Адреса панелі», «Електронна пошта» та «Пароль» на вкладці «Огляд».
  3. На сторінці Projects натисніть New resource. Для публічного репозиторію виберіть Public Git Repository і введіть адресу.
  4. Для приватного репозиторію згенеруйте ключ на сторінці Private Keys, додайте відкритий ключ у Deploy keys на GitHub і виберіть Private Git Repository (with Deploy Key).
  5. Введіть свої змінні на сторінці Environment Variables і натисніть Deploy. На сторінці Domains є тестова адреса HTTPS, і свій домен теж додається там.
  6. Вставте адресу та секрет зі сторінки Webhooks застосунку в налаштування Webhooks репозиторію на GitHub. Відтоді кожен git push виходить у роботу.

З кожним сервером

  • Щоденне резервне копіювання входить у ціну
  • Необмежений трафік
  • Повний доступ root
  • Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
  • Розташування: Istanbul · IST-1.

Корисно знати

  • Змінні, що починаються з NEXT_PUBLIC_, під час збірки записуються в код для браузера. Змінивши таку змінну, натисніть Redeploy і ніколи не давайте цей префікс ключам моделей чи платежів.
  • Контейнер перебудовується під час кожного розгортання, тому файл SQLite, записаний усередині нього, зникає. Підключіть його теку через Persistent Storage або створіть базу даних PostgreSQL у панелі.
  • Coolify підключається до сервера через SSH від імені root зі своїм ключем. Якщо ви повністю вимкнете вхід root або приберете рядок coolify з authorized_keys, розгортання перестануть працювати.
  • Коли панель працює на своїй адресі HTTPS, порти 8000, 6001 і 6002 можна закрити. Docker оминає ufw, тому тут потрібен шлях через Compose від Coolify; кроки є у статті довідки.
  • Автоматичні оновлення Coolify за замовчуванням увімкнені. Підтримувати пакети вашого застосунку в актуальному стані — ваше завдання.
  • Сервер розташований в одному місці — у Стамбулі. Для віддалених відвідувачів затримка зростає, і за потреби перед сервером можна поставити мережу доставки вмісту.

Next.js: запитання й відповіді

Скільки RAM потрібно VPS для Next.js?

Офіційного обсягу RAM для Next.js немає, бо все вирішує збірка. У наших тестах сервер з 4 ГБ зібрав застосунок з близько 85 пакетами, а на 2 ГБ цей самий застосунок вичерпав пам’ять, хоча панель лишилася працювати. Починайте з 4 ГБ. Якщо під час збірки бракує пам’яті, збільште розмір у своїй панелі й розгорніть знову.

Що означає фіксована місячна ціна для хостингу Next.js?

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

Чи працюють усі можливості Next.js на власному сервері?

Так. У документації Next.js сказано, що всі можливості працюють із сервером Node.js або Docker, а обмежений лише статичний експорт. Кешування та ISR працюють самі на одному сервері з постійним диском. Якщо запускаєте кілька копій, кеш між ними треба зробити спільним.

Як розгорнути застосунок, створений інструментом кодування на ШІ?

Який би інструмент його не написав, результат зазвичай — звичайний проєкт Next.js, Vite, Astro, Node або Python. Покладіть код на GitHub, перенесіть секрети в змінні середовища й переконайтеся, що npm run build завершується без помилок. Потім підключіть репозиторій до Coolify і натисніть Deploy.

Чи можна розгортати проєкти Vite, Astro або Python?

Так. Ми випробували приклади проєктів Coolify на справжньому сервері: статичний сайт Vite, серверний застосунок Astro і застосунок Flask — усі зібралися через Railpack і відкрилися за HTTPS. Змінюється лише кілька полів: Static site і /dist для Vite, порт 4321 для Astro і порт 5000 для Flask плюс команда запуску.

Як розгорнути застосунок Next.js через git push?

Після кожного push GitHub надсилає панелі підписаний запит. Coolify перевіряє його й перезбирає застосунок для цієї гілки. Щоб це налаштувати, вставте адресу та секрет зі сторінки Webhooks застосунку в налаштування Webhooks репозиторію на GitHub. У невеликому прикладі проєкту новий коміт вийшов у роботу за 41 секунду завдяки кешу збірки.

Читайте далі й дивіться схожі застосунки