Перенос проекта с Firebase или Supabase на свой сервер
Переезд с Supabase проще: это Postgres, базу забирают обычным pg_dump, а пользователей переносят вместе с хэшами паролей. С Firebase сложнее: Firestore — документная база, её нужно перепроектировать в таблицы, а пользователей экспортировать с хэшами особого формата. В обоих случаях отдельно переносят файлы, серверные функции и авторизацию.
Первая помощь и как чиним
- 1Оценить зависимость
Что используется: база, авторизация, хранилище, функции, realtime, push.
- 2Спроектировать замену
Postgres, свой API, авторизация, хранилище файлов — или self-hosted Supabase.
- 3Перенести данные
Скрипты миграции базы, пользователей и файлов, проверка количества и целостности.
- 4Переписать клиентскую часть
Заменяем вызовы SDK облака на вызовы своего API.
- 5Переключить
Финальная синхронизация, смена адресов, старый проект остаётся в режиме чтения.
Чинить самому или отдать в «аптечку»
Мы уже наступили на эти грабли — вам не придётся
Аптечка: что с проектом?
3 вопроса — и мы скажем, сколько стоит починка. Чек-лист безопасности проекта в подарок.
Интервью с собственником и РОПом, аудит текущей CRM и источников заявок.
1–3 дняВоронки, роли, точки контроля. Согласуем до того, как что-то настраивать.
3–5 днейНастраиваем Битрикс24 и дописываем недостающие инструменты. Демо каждую неделю.
1–4 неделиОбучение, база знаний, поддержка. Дорабатываем, пока цифры не поедут вверх.
дальше — с вамиПодробнееразвёрнутое описание, этапы и нюансы
Firebase и Supabase — отличный старт для проекта на вайб-коде: база, вход и хранилище файлов за пять минут. Но когда проект растёт, появляются вопросы: счёт в долларах, данные клиентов за рубежом, засыпающий бесплатный тариф. Переезд реален, но его объём сильно зависит от того, откуда уезжаете.
Почему так происходит
Supabase построен на Postgres. Ваша схема и данные — обычные таблицы, их можно забрать дампом и развернуть где угодно. Сложности в том, что вокруг: пользователи живут в схеме auth, политики RLS ссылаются на auth.uid(), файлы лежат в Storage, а бизнес-логика — в edge-функциях на Deno.
Firebase устроен иначе. Firestore — документная база без схемы, с вложенными коллекциями и дублированием данных. Её нельзя «скопировать в Postgres» — нужно спроектировать таблицы и написать скрипт преобразования. Пользователи экспортируются командой firebase auth:export, но хэши паролей в модифицированном scrypt требуют отдельной проверки при входе. Cloud Functions, правила безопасности и push-уведомления тоже придётся заменить.
Отдельный фактор для Казахстана — закон о персональных данных требует хранить их в базах на территории РК, и облака с серверами за рубежом этому не соответствуют.
Что проверить самому
- Перечислите, какими сервисами платформы вы реально пользуетесь: база, Auth, Storage, функции, realtime, аналитика, push.
- Посчитайте объём: количество пользователей, строк или документов, гигабайт файлов.
- Для Supabase проверьте, что можете снять дамп своей схемы:
pg_dump "$SUPABASE_DB_URL" --schema=public -Fc -f public.dump
- Для Firebase оцените структуру: сколько коллекций, насколько данные вложены и дублируются.
- Найдите в коде все места, где вызывается SDK облака — это объём переписывания фронтенда.
Когда звать разработчика. Самостоятельно стоит пробовать только перенос небольшой базы Supabase без авторизации и функций — это действительно дамп и восстановление. Всё, что связано с переносом пользователей, файлов, функций и тем более с перепроектированием Firestore, требует опыта: ошибка в скрипте миграции может тихо потерять часть данных, и обнаружится это через недели. Если проект уже работает с клиентами, переезд нужно планировать с репетицией на копии и сверкой количества записей до и после.
Как чиним мы
Начинаем с диагностики и плана: что переносим как есть, что заменяем, в каком порядке и с каким окном простоя. Если вы на Supabase, часто предлагаем два пути: self-hosted Supabase на вашем сервере с минимальными изменениями кода или полный переход на Postgres со своим API. Для Firebase проектируем реляционную схему и пишем скрипты переноса с проверкой. Пользователей переносим без принудительной смены паролей, файлы — со сверкой. Новую систему поднимаем параллельно и переключаем после проверки. Подробнее — на странице «Аптечка вайб-кода».
Сколько стоит
Диагностика — 50 000 ₸, деплой своего сервера — 50 000 ₸, доработка кода под новую инфраструктуру — 80 000 ₸, итого от 180 000 ₸ для небольшого проекта. Переезд с Firebase и проекты с большим количеством данных оцениваются после диагностики. Рассчитайте в калькуляторе.
Частые вопросы
Пользователям придётся менять пароли?
Обычно нет. Supabase хранит пароли в bcrypt, который поддерживают стандартные библиотеки. Firebase отдаёт хэши в своём варианте scrypt, их можно проверять при входе и тихо перехэшировать.
Можно ли развернуть Supabase на своём сервере?
Да, Supabase поставляется в self-hosted варианте через Docker. Это самый короткий путь, но обновления, бэкапы и безопасность становятся вашей задачей.
Зачем уходить из облака?
Частые причины — рост счёта, требования закона РК о хранении персональных данных в Казахстане, ограничения тарифа и желание контролировать бэкапы.
Сделаем так же у вас
Короткий созвон — и вы знаете срок и цену. Или посчитайте сами за 2 минуты.