MAATRIX / Блог / Как перенести приложение из Lovable на VPS: код, база и пользователи

Как перенести приложение из Lovable на VPS: код, база и пользователи

MAATRIX · 17 октября 2026 · 7 мин чтения

У приложения уже есть красивый экран входа, каталог и первые пользователи. Кнопку публикации вы нажимали десятки раз. Теперь хочется разместить проект на собственном сервере — например, чтобы управлять инфраструктурой, подключить внутреннюю базу или получить предсказуемую конфигурацию. Возникает соблазн скачать исходники и считать переезд законченным. Именно здесь у приложения обнаруживается вторая жизнь: данные, файлы, письма, секреты и фоновые процессы, которых в репозитории может не оказаться.

Перенос из Lovable удобнее планировать как переезд небольшой мастерской. Коробка с инструментами уже готова, но электричество, склад и адрес для клиентов придётся организовать отдельно. Ниже — последовательность, позволяющая перенести действующий проект с проверкой результата и возможностью вернуться на прежнюю площадку.

VPS для приложения из Lovable

Разместите интерфейс и серверную часть на VPS MAATRIX. Подберите память и диск под приложение, базу и файлы; полный Supabase требует отдельного расчёта.

ВЫБРАТЬ VPS

Сначала определите, что именно вы переносите

Откройте репозиторий и посмотрите зависимости, команды сборки и структуру проекта. По состоянию на октябрь 2026 года новые приложения Lovable, созданные с 13 мая, используют TanStack Start; более старые обычно построены на React и Vite. В первом случае требуется запуск серверной части, во втором результатом сборки может быть набор статических файлов. Это различие прямо описано в документации о размещении Lovable.

Затем составьте короткую карту приложения. Для каждой кнопки, которая что-нибудь сохраняет или отправляет, выясните, какой сервис выполняет работу. Полезно пройти путь пользователя от регистрации до удаления аккаунта. Если после нажатия «Скачать счёт» появляется PDF, найдите место его создания. Если приходит письмо, найдите почтового провайдера. Сеть в инструментах разработчика браузера помогает обнаружить внешние адреса, но серверные вызовы нужно искать и в коде.

Часть проектаЧто забираемЧто проверяем отдельно
ИсходникиРепозиторий, зависимости, миграцииРабочую команду сборки
БазаСхему и записиРасширения, роли, политики доступа
ФайлыСодержимое хранилищаЗакрытые ссылки и права
ВходПользователей и настройки провайдеровCallback-адреса, письма, сессии
ИнтеграцииПеречень подключенийНовые ключи, лимиты и оплату

Сам редактор Lovable и его агент на VPS не переносятся. Размещается созданное приложение. При желании можно продолжать редактировать его в Lovable и доставлять изменения через связанный репозиторий.

Выберите разумную границу первого переезда

Перенести только интерфейс обычно проще, чем сразу заменить все сервисы. Сайт работает на VPS, а существующие база, авторизация и хранилище временно остаются на прежней площадке. Такой промежуточный вариант даёт возможность проверить сборку, домен и работу приложения без одновременной миграции пользовательских записей.

Полный перенос требует отдельного плана для серверных функций, почты и интеграций. PostgreSQL хранит данные, но сама по себе установка PostgreSQL не создаст совместимый API авторизации и файловое хранилище. Если приложение рассчитывает на Supabase, выбирайте совместимый маршрут переноса Supabase либо закладывайте изменение кода. Материал о самостоятельном размещении Supabase помогает оценить состав этого хозяйства.

Заранее определите критерий завершения. Фраза «страница открывается» слишком оптимистична. Хороший критерий звучит так: существующий пользователь входит, видит свои документы, загружает новый файл, получает письмо и не получает доступ к чужой записи.

Подготовьте воспроизводимую сборку

Синхронизируйте код в репозиторий, которым управляет ваша команда, и зафиксируйте конкретный коммит. Сборку проверяйте в чистой среде, где нет незаметно установленных библиотек с рабочего ноутбука. Сохраните lock-файл пакетного менеджера и используйте совместимую версию Node.js, указанную проектом.

Проверьте команды в package.json. Команда разработки с горячей перезагрузкой не должна становиться постоянным способом обслуживания посетителей. Для React/Vite соберите итоговый каталог и настройте веб-сервер с возвратом входной страницы для клиентских маршрутов. Затем откройте вложенный адрес напрямую: ошибка после обновления страницы часто означает, что сервер ищет физический файл вместо передачи маршрута приложению.

Для TanStack Start используйте адаптер и способ запуска, предусмотренные установленной версией проекта. Руководство TanStack по размещению стоит сопоставить с конфигурацией конкретного репозитория. Не подменяйте серверную сборку загрузкой клиентских файлов: внешне главная страница может сохраниться, а функции начнут отвечать ошибками.

Создайте тестовый домен, включите HTTPS и ограничьте доступ к копии. Поисковый робот не должен принять репетицию за второй основной сайт. Внешние платёжные и почтовые операции на этом этапе переводите в тестовый режим или отключайте отправку.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

АРЕНДОВАТЬ СЕРВЕР

Секреты и пользовательские данные едут разными маршрутами

Git-синхронизация содержит исходники и может содержать файлы миграций структуры. Это не резервная копия записей и загруженных файлов. Экспортируйте их отдельно, а секреты перенесите через защищённые настройки окружения. Не добавляйте ключи в репозиторий «на пять минут»: история Git обладает прекрасной памятью.

Разделите переменные на публичные и серверные. Адрес API может попадать в браузер. Привилегированный ключ, позволяющий обходить правила доступа, там оказаться не должен. После сборки проверьте загружаемые браузером файлы на присутствие таких секретов. Если ключ уже раскрыт, удаление строки из исходника недостаточно: требуется его замена.

При полном переносе Supabase ориентируйтесь на официальное восстановление из облачной платформы. Записи базы, объекты файлового хранилища и настройки внешних провайдеров учитываются раздельно. Подготовьте таблицу соответствий: старый адрес, новый адрес, ответственный за переключение, способ проверки.

Для файлов сравнивайте количество объектов, суммарный размер и выборочно контрольные суммы. Для базы одного числа строк мало: проверьте связи, права и последовательности идентификаторов. Особое внимание уделите политикам, ограничивающим доступ конкретного пользователя. Ошибка здесь опаснее неудачного цвета кнопки.

Репетиция входа, писем и сохранения

Создайте два тестовых аккаунта с разными правами. Первый загружает документ, второй пытается получить его по скопированной ссылке. Затем проверьте восстановление пароля, подтверждение почты и выход со всех устройств. Наличие страницы авторизации ещё не означает работоспособность всей цепочки.

В кабинетах внешних провайдеров добавьте новый разрешённый адрес возврата после входа. Убедитесь, что приложение формирует ссылки с правильным публичным доменом и HTTPS. Иначе письмо может исправно прийти, но вести в старое окружение. Старые сессии при смене инфраструктуры авторизации иногда приходится завершать; предупредите пользователей заранее, вместо того чтобы представлять повторный вход как необъяснимую поломку.

Пройдите типовой рабочий день на тестовой копии. Оформите заказ, измените его статус, загрузите крупное вложение, выполните поиск и дождитесь фонового задания. Запишите ожидаемый результат рядом с фактическим. Скриншот страницы полезен, однако запись в нужной базе и доставленное письмо убедительнее.

Когда переносить домен

За некоторое время до переключения уменьшите TTL DNS-записи, учитывая прежнее время кеширования. Назначьте окно, в котором старое приложение перестанет принимать изменения. Сделайте финальный экспорт базы и синхронизацию файлов, восстановите их на VPS и повторите короткую проверку.

После изменения DNS часть посетителей ещё может попадать на старую площадку. Старый сайт в этот момент должен показывать обслуживание либо направлять пользователей безопасным согласованным способом. Две независимые базы, одновременно принимающие заказы, быстро превращают переезд в бухгалтерский квест.

Откат тоже требует правил. Пока новые данные не появились, можно вернуть прежнюю DNS-запись. После появления новых заказов сначала нужно перенести эти изменения обратно или устранить проблему на новой площадке. Простое переключение адреса может потерять свежие операции. Поэтому сохраняйте журнал времени переключения и не удаляйте исходное окружение сразу.

Какой VPS выбрать для приложения из Lovable

Для пилота небольшого интерфейса с серверной частью можно рассматривать MAATRIX Uab Start с 2 vCPU и 4 ГБ памяти. Если рядом будут PostgreSQL и несколько вспомогательных процессов, разумнее начинать оценку с Heka Standard: 4 vCPU и 8 ГБ. Полный Supabase требует отдельного расчёта памяти; нельзя переносить рекомендацию для одного Node.js-процесса на весь его набор сервисов.

Ubuntu 24.04 или Debian 13 подойдут при совместимости зависимостей и выбранного способа установки. Объём диска рассчитывайте из данных, файлов, логов и свободного места для сборки. Резервную копию храните отдельно от сервера. API искусственного интеллекта и почтовый сервис оплачиваются по собственным условиям — аренда VPS не включает их использование.

После запуска измерьте память в обычный час и во время сборки, задержку ответа и рост диска. Эти наблюдения подскажут дальнейшую конфигурацию точнее количества зарегистрированных аккаунтов. Выбрать VPS MAATRIX стоит под фактический состав приложения: тогда переезд даст управляемую инфраструктуру, а не просто новый адрес старой неопределённости.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

АРЕНДОВАТЬ СЕРВЕР

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →