Обзор
Как задеплоить приложение на популярных языках и фреймворках.
Приложения собираются Railpack: он определяет язык по файлам в репозитории, ставит зависимости, собирает и запускает приложение. Обычно ничего настраивать не нужно.
Порт — главное, что нужно проверить
Traefik отправляет трафик на порт контейнера, указанный в домене. По умолчанию
это 3000. Приложение должно слушать именно этот порт на всех интерфейсах (0.0.0.0), иначе домен
вернёт ошибку 502.
DeployCode сам не задаёт переменную PORT, а разные фреймворки по умолчанию слушают разные порты:
| Что запускается | Порт по умолчанию |
|---|---|
Next.js (next start) | 3000 |
| FastAPI, Flask | 8000 |
| Laravel, статические сайты и SPA | 80 |
| Node.js, Go | Тот, что задан в коде |
Самый простой способ
Добавьте приложению переменную PORT со значением порта из домена — например, PORT=3000. Next.js,
FastAPI, Flask, gunicorn, Laravel и статические сайты Railpack её учитывают. В своём коде на Node.js или
Go читайте порт из PORT.
Версии языков
Railpack берёт версию из файлов проекта (.nvmrc, .python-version, go.mod, composer.json и т. д.).
Её можно переопределить переменной RAILPACK_<ЯЗЫК>_VERSION — подробности на странице каждого языка.
Монорепозитории
Если приложение лежит в подкаталоге, укажите путь сборки в настройках приложения. Для workspace в Node.js см. Node.js.