Next.js
Деплой приложения на Next.js.
Как Railpack собирает Next.js
- Определяет Node.js по
package.jsonи менеджер пакетов — по полюpackageManagerили lock-файлу. - Ставит зависимости и выполняет скрипт
build(next build). - Запускает скрипт
start(next start).
Кеш .next/cache сохраняется между сборками, поэтому повторные деплои быстрее.
Порт
next start слушает переменную PORT, а без неё — 3000. Это совпадает с портом домена по умолчанию,
так что дополнительно ничего настраивать не нужно.
Переменные окружения
- Переменные
NEXT_PUBLIC_*встраиваются в клиентский код при сборке. После их изменения нужен новый деплой — простого перезапуска недостаточно. - Остальные переменные читаются на сервере при запуске.
См. Переменные окружения.
Статический экспорт
Если в next.config.* указано output: 'export', Railpack соберёт статический сайт из каталога out и
будет отдавать его встроенным веб-сервером на порту 80. Задайте переменную PORT=3000 или
измените порт в домене — см. Статический сайт.
Версия Node.js
Берётся из engines.node в package.json, .nvmrc или .node-version; по умолчанию — 22.
Переопределяется переменной RAILPACK_NODE_VERSION.
Частые проблемы
next build требователен к памяти, а сборка идёт на том же сервере, где работают приложения.
Увеличьте память сервера или освободите её на время сборки.
Такие переменные встраиваются при сборке — запустите новый деплой.