РАЗБОР Решено

Как отвязать проект от Lovable Cloud и перенести его на облако и среду ИИ разработки от ProTalk в РФ

A
AndrewTiunov Newbie · 1 сообщений
Подписаться
64
[ обложка статьи ]
Режим чтения
GTUpJwQ9JCkYKglyGHQMC2IWOSxyCik_Gj13bzcZLRAABg5hHhRgOn0eCiMZEyNVDTceCjZmB1kKWzUUdzQuQCICKCIpNQQeLA8YFgZBGHEWMGMtN05yTm9kWVx2bl1SGBMkTzhDL1JEJjw_EgstGT0CNywaIC0xBGA3AAwZVgAuOy4GJH9dVHVpW19rZFYD.png



Lovable позволяет быстро создавать frontend, базу данных и серверную логику. Для прототипов это удобно, но в production могут появиться проблемы:
  • зависимость от инфраструктуры Lovable Cloud;
  • ошибки 502 и недоступность сервисов;
  • сложность переноса Edge Functions;
  • рост расходов при увеличении трафика;
  • ограниченный контроль над базой и серверными ключами;
  • трудности с самостоятельным масштабированием и резервированием.

Решение — вынести базу данных, backend и серверные функции в независимую инфраструктуру:

Lovable → ProTalk PostgreSQL → Lubanya Cloud → собственный API-домен

Lovable при этом можно оставить как инструмент быстрой разработки frontend, а production-инфраструктуру контролировать самостоятельно.


Итоговая архитектура​


Пользователь
│
▼
Frontend-приложение
│
▼
api.ВАШ_ПРОЕКТ.ru
│
▼
Backend на Lubanya Cloud
│
├── PostgreSQL в ProTalk
├── API проекта
├── авторизация
├── Edge Functions
└── бизнес-логика



Шаг 1. Создайте базу в ProTalk​

Откройте сайт: Любаня DB — облачный PostgreSQL для ваших ботов

Создайте базу с именем проекта, например: my-ai-service

После этого скопируйте строку подключения PostgreSQL: postgres://u_my-ai-service:password@host:5432/my-ai-service


Не публикуйте её в репозитории, frontend-коде, статьях или чатах. Если строка подключения стала доступна третьим лицам, пароль необходимо заменить.


Снимок экрана 2026-10-18 191049.png




Шаг 2. Попросите Lovable создать миграционное приложение которое включает в себя все облачные функции и актуальную копию базы данных в Lovable​


Ниже приведена системная инструкция для Lovable. Она описывает приложение, которое можно развернуть в Lubanya Cloud и использовать для переноса проекта.


Пример системной инструкции для Lovable​


Ты — senior backend-разработчик и архитектор миграционных приложений.

Создай полноценное Node.js-приложение, предназначенное для переноса проекта с Lovable Cloud в независимую инфраструктуру ProTalk PostgreSQL.

Приложение будет развернуто на Lubanya Cloud по адресу:


Не используй Express, Fastify, Koa или другие npm-пакеты, если они не гарантированно предустановлены. Используй встроенные модули Node.js:

  • node:http
  • node:fs/promises
  • node:path
  • node:url
  • node:crypto
  • node:child_process

Проект должен содержать:

  • package.json;
  • server.js;
  • public/index.html;
  • public/app.js;
  • public/style.css.

В package.json добавь:

{
"name": "protalk-migration-tool",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "node server.js"
}
}

Сервер обязан:

1. Читать порт только из process.env.PORT:

const PORT = Number(process.env.PORT) || 3000;

2. Слушать на адресе 0.0.0.0:

server.listen(PORT, '0.0.0.0');

3. Корректно работать за reverse proxy.

4. Учитывать заголовки:

  • x-forwarded-for;
  • x-forwarded-proto;
  • x-forwarded-host.

5. Иметь health-check:

GET /health

Ответ:

{
"ok": true
}

6. Раздавать статические файлы из каталога public.

7. Иметь SPA fallback для неизвестных frontend-маршрутов.

8. Защищаться от path traversal.

Функциональность приложения:

1. При открытии приложения показывать административную форму авторизации.

2. Форма должна принимать:
- имя пользователя базы данных;
- пароль пользователя базы данных;
- строку подключения PostgreSQL либо host, port, database, username и password;
- архив миграции в формате ZIP.

3. Не сохраняй пароль и строку подключения в исходном коде, frontend, localStorage, URL или логах.

4. Не передавай секреты обратно в браузер после отправки формы.

5. Для работы используй HTTPS и серверные POST-запросы.

6. Не записывай в логи:
- пароль;
- полную строку подключения;
- JWT;
- секретные ключи;
- содержимое дампа.

7. Добавь CSRF-защиту или одноразовый токен сессии.

8. Административная сессия должна иметь ограниченный срок действия и завершаться после миграции.

9. Добавь подтверждение перед началом миграции:

«Перед продолжением убедитесь, что у вас есть резервная копия целевой базы данных».

10. Архив должен проверяться до распаковки:
- ограничение размера;
- запрет абсолютных путей;
- запрет путей с ..;
- проверка расширений;
- запрет выполнения произвольных файлов;
- ограничение количества файлов.

11. Не выполняй произвольный shell-код из ZIP-архива.

12. Миграцию выполняй только после явного подтверждения пользователя.

13. Добавь этапы миграции:
- загрузка архива;
- проверка архива;
- распаковка во временный каталог;
- поиск SQL-дампа и миграций;
- проверка подключения к PostgreSQL;
- выполнение миграции;
- проверка количества таблиц;
- проверка основных индексов;
- формирование итогового отчёта;
- удаление временных файлов.

14. Если в архиве используется database.sql, обработай его безопасно и показывай прогресс операции.

15. Не удаляй существующие таблицы без отдельного предупреждения и подтверждения.

16. По умолчанию используй безопасный режим:
- CREATE TABLE IF NOT EXISTS;
- CREATE INDEX IF NOT EXISTS;
- транзакции там, где это возможно;
- остановка при критической ошибке.

17. Добавь режимы:
- dry-run;
- import;
- verify.

18. Реализуй API:

GET /health
POST /api/auth
POST /api/migration/inspect
POST /api/migration/run
GET /api/migration/status
POST /api/logout

19. Все API-ответы должны быть JSON.

20. Для ошибок используй единый формат:

{
"ok": false,
"error": "Описание ошибки без секретных данных"
}

21. После успешной миграции отобрази:
- количество обработанных файлов;
- количество найденных SQL-файлов;
- количество применённых миграций;
- количество ошибок;
- список предупреждений;
- итоговый статус.

22. Добавь защиту от:
- brute force;
- повторной отправки формы;
- слишком больших архивов;
- параллельного запуска двух миграций;
- доступа к чужой сессии;
- подмены имени файла;
- скачивания временных файлов.

23. Все секреты должны задаваться через переменные окружения Lubanya Cloud. Не вставляй пароли в исходный код.

24. Добавь README.md с инструкцией:
- как запустить приложение;
- какие переменные окружения нужны;
- как настроить домен;
- как выполнить health-check;
- как сделать резервную копию;
- как откатить миграцию.

25. Не заявляй, что миграция гарантированно совместима с любой базой. Если структура базы неизвестна, показывай предупреждение и требуй предварительной проверки.

Перед завершением проверь:

  • package.json существует;
  • server.js существует;
  • используется process.env.PORT;
  • сервер слушает 0.0.0.0;
  • public/index.html существует;
  • API-роуты объявлены до статики;
  • нет хардкодных паролей;
  • нет вывода секретов в лог;
  • нет зависимостей, требующих npm install;
  • неизвестные frontend-маршруты возвращают index.html.


Согласно этой документации собери мне приложение для миграции любой базы из Lovable Cloud в облако ProTalk

В код приложения встрой все функции из node server.js
приложение при старте должно просить ввести имя и пароль базы данных db.pro-talk.ru которые зашиты в серверную часть и при успешной авторизации открывать администраторскую панель в которой можно загрузить дамп базы в одном .zip архиве и провести миграцию данных

Само это приложение будет развернуто по адресу: api.ai-from.ru и должно быть полной альтернативой для текущего облака Lovable Cloud

Доступ к базе данных:
postgres://u_my-ai-service:password@host:5432/my-ai-service



Шаг 3. Разверните приложение в Lubanya Cloud​


Зайдите на этот адрес: https://account.lubanyacloud.ru


image.png



Авторизуйтесь в личном кабинете и заполните форму "Новый деплой" как на скриншоте:


image.png



В поле "Свой домен" впишите адрес: api.ВАШ_ПРОЕКТ.ru



Шаг 4. Выполните миграцию​


Откройте: https://api.ВАШ_ПРОЕКТ.ru


Затем:

  1. Введите данные базы.
  2. Загрузите ZIP-архив.
  3. Запустите проверку архива.
  4. Просмотрите найденные файлы и предупреждения.
  5. Выполните dry-run.
  6. Подтвердите миграцию.
  7. Дождитесь завершения.
  8. Проверьте итоговый отчёт.

Перед переносом production-данных обязательно сделайте резервную копию и проверьте совместимость версий PostgreSQL, расширений, кодировки, внешних ключей и индексов.




Шаг 5. Переключите frontend на новый API​


После миграции замените старые адреса API на: https://api.ВАШ_ПРОЕКТ.ru

Также обновите:
  • переменные окружения;
  • авторизацию;
  • callback URL;
  • OAuth redirect URL;
  • CORS;
  • webhook-и;
  • загрузку файлов;
  • платежные уведомления.


Пример финальной инструкции для Lovable​


Миграция backend завершена.

Новый сервер приложения:

https://api.ВАШ_ПРОЕКТ.ru

Перенастрой проект так, чтобы все backend-запросы, авторизация, загрузка файлов, webhook-и и серверные функции использовали новый API-домен.

Требования:

1. Найди все обращения к старому Lovable Cloud backend.
2. Замени их на:
https://api.ВАШ_ПРОЕКТ.ru

3. Не переноси секреты в frontend-код.
4. Все приватные ключи и токены оставь на серверной стороне.
5. Обнови CORS-настройки и callback URL.
6. Проверь авторизацию пользователя.
7. Проверь регистрацию и вход.
8. Проверь чтение и запись данных.
9. Проверь загрузку файлов.
10. Проверь все Edge Functions через новые API-маршруты.
11. Удали неиспользуемые зависимости от Lovable Cloud только после проверки.
12. Добавь обработку ошибок API и отображение понятного сообщения пользователю.
13. Не удаляй старые интеграции до завершения тестирования.
14. Подготовь список оставшихся зависимостей от Lovable Cloud.

После изменений выполни полный тест проекта и сообщи:
  • какие файлы изменены;
  • какие API-маршруты переключены;
  • какие интеграции требуют ручной проверки;
  • остались ли обращения к старому backend.



Шаг 6. Продолжайте разработку в dev.pro-talk.ru​


image.png



После миграции дальнейшую разработку можно вести в собственной среде:
Любаня: Облако



Итог​

Миграция выполняется по следующей схеме:
1. Создать базу в ProTalk.
2. Получить PostgreSQL connection string.
3. Экспортировать данные и серверную логику.
4. Создать миграционное приложение через Lovable.
5. Развернуть его в Lubanya Cloud.
6. Подключить API-домен.
7. Загрузить архив и выполнить миграцию.
8. Переключить frontend на новый API.
9. Проверить все функции.
10. Продолжить разработку в dev.pro-talk.ru.

В результате Lovable можно использовать для быстрой разработки интерфейса, а базу данных, backend и production-логику разместить в независимой инфраструктуре ProTalk и Lubanya Cloud.
Полезно · 3

Комментарии

0