Как развернуть проект Bolt.new на своём сервере
Чтобы развернуть проект Bolt.new на своём сервере, подключите проект к GitHub или скачайте его как zip, передайте код панели Coolify на сервере, задайте переменные окружения и направьте на сервер свой домен. Документация Bolt говорит то же самое: когда код на GitHub, публиковать можно через любой другой сервис по вашему выбору. Если выбрать путь через GitHub, вы можете и дальше работать в Bolt, а ваши изменения будут попадать в репозиторий сами.
Bolt сосредоточен на JavaScript. Его поддерживаемый стек — Node.js на бэкенде и браузерные фреймворки на фронтенде, без бэкендов на Python или PHP. Поэтому ваш проект, скорее всего, обычный проект Node с package.json, и для запуска ему не нужно ничего специфичного для Bolt.
Как вынуть код из Bolt?
Через GitHub
- Откройте проект, нажмите значок GitHub справа вверху, войдите в аккаунт GitHub и выдайте запрашиваемый доступ.
- Назовите репозиторий и нажмите Create repository.
- Репозиторий создаётся приватным, с веткой
main. С этого момента Bolt отправляет в него каждое изменение.
В виде zip
Нажмите на название проекта слева вверху, затем Download. Zip — это разовая копия, и последующие изменения в Bolt в неё не попадут. Сервер разворачивает из репозитория Git, поэтому вам всё равно придётся поместить код в такой репозиторий. Распаковать архив и выполнить npm install && npm run dev — быстрый способ увидеть, как код работает вне Bolt.
Что это за проект?
Настройки определяются проектом, поэтому посмотрите зависимости в package.json. Строки Next.js, Vite и Astro — это настройки, которые мы проверили с Coolify на настоящем сервере.
| Зависимость | Проект | Настройки Coolify |
|---|---|---|
next | Next.js | Порт 3000, больше вводить ничего не нужно |
vite | Статический сайт | Output type Static site, Publish directory /dist |
astro | Серверное приложение Astro | Порт 4321, Start command HOST=0.0.0.0 node dist/server/entry.mjs |
express или подобное | Сервер Node.js | Порт, который слушает приложение, адрес 0.0.0.0 и скрипт start в package.json |
Если проект на Vite маршрутизирует страницы в браузере, задайте Site type значение SPA на странице General. Обычно вложенная страница отдаёт 404 при обновлении как раз из-за того, что это пропущено.
Шаг за шагом
- Закажите сервер на странице Next.js VPS. В этот вариант входит Coolify, поэтому вы разворачиваете из той же панели, даже если ваш проект не на Next.js.
- Клонируйте репозиторий и выполните
npm run build. Код, который работает в предпросмотре Bolt, всё равно может не пройти рабочую сборку, и лучше узнать об этом раньше сервера. - Откройте папку в инструменте для кода, например в Claude Code или Cursor. Скопируйте строку Вставьте в свой ИИ-инструмент на вкладке Обзор своей панели Seturack и вставьте её. Инструмент читает инструкции и разворачивает проект, добавляя для приватного репозитория ключ развёртывания только для чтения.
- Передайте ему переменные окружения, которые ожидает ваш код, и не держите значения в коде.
- Когда придёт адрес HTTPS, проверьте страницы, вход и запись данных.
- Направьте A-запись на IP-адрес сервера и сообщите инструменту доменное имя. Сертификат выдаётся автоматически.
Всё это можно сделать и вручную в Coolify, как объясняет наше руководство по Next.js. Доступ root у вас есть, и при желании всем можно управлять из панели.
Чтобы не каждое изменение уходило в работу
Вот особенность, свойственная Bolt. Поскольку он отправляет каждое изменение в репозиторий, вебхук на main означает, что каждый запрос запускает новую сборку, и в работу попадают незаконченные эксперименты. Чтобы этого избежать, нажмите значок GitHub, через Create new branch работайте в отдельной ветке и сливайте её в main, когда закончите. Сервер следит только за main, поэтому посетители видят готовую версию.
Что будет с Bolt Database?
Bolt Database хранит ваши данные, вход, файловое хранилище и серверные функции в Bolt Cloud. При переносе кода всё это остаётся на месте, поэтому дальнейшее вы выбираете сами.
| Вариант | Что делать | На что обратить внимание |
|---|---|---|
| Остаться на Bolt Database | Задайте адрес и ключи, с которыми работает ваш код, затем проверьте чтение и запись на временном адресе | Bolt может приостановить редко используемую базу данных в неопубликованном проекте |
| Передать её в Supabase | Через значок базы данных откройте Advanced и нажмите Claim | Нужны тариф Pro или Teams и право владельца организации Supabase |
| Запустить Supabase на своём сервере | Сначала передайте её, затем настройте Supabase VPS и следуйте руководству по восстановлению | Файлы и серверные функции переносятся отдельно, а пользователи входят заново |
| Экспортировать только строки | Выберите строки в таблице и экспортируйте CSV или JSON | Подходит для небольших объёмов данных |
Ключи на странице Secrets в Bolt предназначены для его серверных функций. Код, работающий на вашем сервере, читает их из переменных окружения, поэтому вы вводите их там сами.
Частые вопросы
Насколько мощный сервер нужен проекту Bolt.new?
На странице продажи рекомендуется минимум 4 ГБ RAM, 2 vCore и 40 ГБ диска. Сборки Next.js требуют всё больше памяти по мере роста проекта: проект с 85 пакетами не собрался на 2 ГБ и собрался на 4 ГБ, а небольшой прошёл на 2 ГБ. Если не хватает, увеличьте сервер из панели.
Сколько это будет стоить в месяц?
Рекомендуемый минимальный размер стоит около $6 в месяц (включая НДС), а за пределами Турции вы платите в долларах США. Ежедневные бэкапы входят в цену, а трафик безлимитный. Подписка на Bolt оплачивается отдельно и сохраняется, если вы продолжаете разработку там.
Как подключить домен?
Направьте A-запись на IP-адрес сервера, добавьте домен в приложение и разверните заново. Сертификат выдаётся автоматически. Запись описана в нашей справочной статье.
Как изменение в Bolt попадает на сервер?
Bolt отправляет его на GitHub, а при настроенном вебхуке сервер пересобирает приложение при каждом пуше в отслеживаемую ветку. Без вебхука нажмите Redeploy в Coolify.
Можно ли перенести базу данных в PostgreSQL в Coolify?
Если ваш код общается с базой данных напрямую через SQL, то да. Bolt Database закрывает также вход, файлы и серверные функции, и обычный PostgreSQL их не заменит, если ваш код от них зависит. В таком случае путь через Supabase требует меньше правок кода.
Комментарии0
Комментариев пока нет
Поделитесь своим мнением первым.
Пожалуйста, войдите или зарегистрируйтесь, чтобы оставить комментарий.