Supabase — сильный open-source Backend-as-a-Service на базе PostgreSQL. Но из России им пользоваться неудобно: оплата требует иностранной карты, бесплатный тариф ограничен, а данные хранятся за рубежом. Ниже — альтернативы: open-source проекты для self-hosting и сборка из российских облачных сервисов, плюс что делать с бэкапами при переезде.
Что такое Supabase и почему ищут замену
Supabase — открытая BaaS-платформа, которая даёт из коробки:
- PostgreSQL с автоматическим REST (PostgREST) и GraphQL API;
- аутентификацию (email, OAuth, magic link, телефон);
- Realtime-подписки через WebSocket;
- хранилище файлов (Storage);
- Edge Functions (Deno);
- Row-Level Security (RLS) для управления доступом.
Supabase позиционируется как открытая альтернатива Firebase и стал одним из самых популярных бэкендов для fullstack-проектов на JavaScript. Ограничения для российских разработчиков:
- Оплата только иностранными картами. Бесплатный тариф лимитирован по объёму базы и хранилища, а неактивные проекты ставятся на паузу (точные лимиты на момент написания смотрите на странице тарифов Supabase).
- Данные хранятся в облаке AWS за рубежом. Для персональных данных россиян 152-ФЗ требует первичной записи и хранения в России.
- Supabase можно развернуть самостоятельно через Docker, но это требует настройки и поддержки инфраструктуры.
PocketBase — самый простой аналог Supabase
PocketBase — open-source бэкенд в одном исполняемом файле на Go с SQLite в качестве хранилища. По набору функций близок к Supabase, но проще в деплое.
Что предлагает PocketBase:
- встроенную SQLite с автоматическим REST API;
- аутентификацию (email/пароль, OAuth2, OTP);
- Realtime-подписки через Server-Sent Events;
- файловое хранилище (локально или в S3);
- правила доступа (API Rules);
- админ-панель из коробки;
- расширение на Go или JavaScript.
Весь бэкенд — один бинарник. Скачайте архив под свою ОС со страницы релизов и запустите:
./pocketbase serve
После запуска доступны:
http://127.0.0.1:8090/_/— админ-панель;http://127.0.0.1:8090/api/— REST API.
PocketBase хорошо подходит для MVP, pet-проектов, хакатонов и приложений с предсказуемой нагрузкой на одном сервере. Ограничение: это один процесс на одном сервере, горизонтально он не масштабируется. Если нужна распределённая нагрузка и несколько инстансов бэкенда — смотрите на решения с PostgreSQL. Подробнее — в статье PocketBase как бэкенд.
Сайт: pocketbase.io
Appwrite — BaaS с богатым набором SDK
Appwrite — open-source BaaS с более широким функционалом, чем PocketBase, рассчитанный на production-нагрузки.
Что включает Appwrite:
- базу данных (под капотом MariaDB) с документным API;
- аутентификацию: email, OAuth, JWT, анонимные сессии, Phone OTP;
- Storage с поддержкой S3-совместимых хранилищ;
- Realtime через WebSocket;
- Functions на Node.js, Python, PHP, Ruby, Deno, Dart, .NET и других рантаймах;
- вебхуки и админ-консоль.
Установка self-hosted (актуальную версию образа берите из документации Appwrite):
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:<версия>
Есть и managed Appwrite Cloud с бесплатным тарифом — лимиты смотрите на сайте. По сравнению с PocketBase Appwrite сложнее в настройке, но предлагает больше SDK (Web, Flutter, iOS, Android, серверные языки).
Сайт: appwrite.io
Nhost — альтернатива Supabase с GraphQL
Nhost — open-source BaaS на базе Hasura (GraphQL) и PostgreSQL. По архитектуре ближе всего к Supabase, но основной API — GraphQL.
- PostgreSQL с автоматическим GraphQL API через Hasura;
- аутентификация (email, OAuth, magic link, WebAuthn);
- файловое хранилище (S3-совместимое);
- serverless-функции на Node.js;
- Realtime через GraphQL Subscriptions.
Nhost можно развернуть самостоятельно или использовать managed cloud. Подходит командам, которые предпочитают GraphQL вместо REST.
Сайт: nhost.io
Firebase — BaaS от Google
Firebase — самый зрелый BaaS, особенно для мобильных приложений:
- Firestore — NoSQL-база с realtime-синхронизацией;
- Firebase Authentication;
- Cloud Storage for Firebase;
- Cloud Functions;
- Hosting, Analytics, Crashlytics, Remote Config.
Бесплатный тариф Spark подходит для прототипов, но часть сервисов (например, Cloud Functions) требует тарифа Blaze с оплатой по факту. Лимиты меняются — проверяйте у Google.
Ограничения для России:
- тариф Blaze требует иностранной карты;
- данные в Google Cloud за рубежом, дата-центров в России нет;
- основная база — NoSQL Firestore; реляционный вариант (Data Connect поверх Cloud SQL) доступен только на платном тарифе.
Сайт: firebase.google.com
Российские облачные решения как аналог Supabase
Готового BaaS в стиле Supabase (база + авторизация + хранилище + API в один клик) у российских облаков нет. Но аналогичный стек собирается из их сервисов.
Yandex Cloud
- Managed Service for PostgreSQL — база данных;
- Object Storage (S3-совместимый) — файлы;
- Cloud Functions — бэкенд-логика;
- API Gateway — маршрутизация API;
- IAM — доступ для ваших сервисов (не для конечных пользователей).
Это сложнее, чем Supabase, но оплата в рублях и данные в России. Для авторизации пользователей понадобится отдельное решение: Keycloak, Casdoor или своя реализация.
Сайт: yandex.cloud
VK Cloud
- управляемые PostgreSQL, MySQL, MongoDB;
- S3-совместимое объектное хранилище;
- виртуальные машины и Kubernetes для запуска Appwrite или PocketBase.
Сайт: cloud.vk.com
VPS + Appwrite/PocketBase
Распространённая схема:
- Арендуете VPS у российского провайдера (Selectel, Timeweb Cloud и другие).
- Устанавливаете PocketBase или Appwrite.
- Файлы складываете в S3-совместимое хранилище того же или другого провайдера.
Получается self-hosted BaaS с данными в России за цену небольшого VPS.
Self-hosted Supabase: официальный вариант
Supabase официально поддерживает self-hosting через Docker Compose:
git clone --depth 1 https://github.com/supabase/supabase
cd supabase/docker
cp .env.example .env
# Обязательно замените секреты и пароли в .env
docker compose up -d
Стек включает PostgreSQL, Auth (GoTrue), PostgREST, Realtime, Storage API, Kong и Studio. Под него нужен VPS с запасом памяти — ориентируйтесь на требования из документации Supabase, минимум несколько гигабайт RAM.
Преимущество: функционал Supabase без лимитов бесплатного тарифа, данные на вашем сервере в России. Недостаток: обновления, мониторинг и бэкапы — на вас.
Convex — реактивный BaaS
Convex — backend-платформа с собственной реактивной базой данных и автоматической синхронизацией состояния:
- realtime из коробки, без ручной настройки WebSocket;
- TypeScript-first;
- серверные функции, файловое хранилище, авторизация через Convex Auth или внешних провайдеров.
Бэкенд Convex открыт и его можно развернуть самостоятельно; облачная версия требует иностранной карты.
Сайт: convex.dev
Сравнительная таблица аналогов Supabase
| Платформа | БД | Auth | Storage | Realtime | Self-hosted | Оплата в рублях | |---|---|---|---|---|---|---| | Supabase | PostgreSQL | Да | Да | Да | Да (сложно) | Нет (облако) | | PocketBase | SQLite | Да | Да | SSE | Да (легко) | Зависит от VPS | | Appwrite | MariaDB | Да | Да | WebSocket | Да | Зависит от VPS | | Nhost | PostgreSQL | Да | Да | GraphQL Sub | Да | Зависит от VPS | | Firebase | Firestore (NoSQL) | Да | Да | Да | Нет | Нет | | Convex | Собственная | Да | Да | Да | Да | Нет (облако) | | Yandex Cloud | PostgreSQL | Своё решение | Object Storage | Нет | — | Да | | VK Cloud | PostgreSQL, MySQL, MongoDB | Своё решение | Object Storage | Нет | — | Да |
Как выбрать аналог Supabase под свою задачу
- MVP и небольшой стартап — PocketBase: минимум затрат и быстрый старт.
- Production-проект с командой — Appwrite или Nhost self-hosted на российском VPS.
- Мобильное приложение без требований к локализации данных — Firebase.
- Корпоративный проект с хранением данных в России — Yandex Cloud или VK Cloud: PostgreSQL + Keycloak.
- Команда с GraphQL-опытом — Nhost или Hasura + PostgreSQL.
Бэкапы при переезде с Supabase и после него
В Supabase данные лежат в двух местах: таблицы, пользователи (схема auth) и метаданные файлов — в PostgreSQL, а сами файлы Storage — в объектном хранилище. Дамп базы файлы не включает, их нужно копировать отдельно (через S3-совместимый API Storage или скриптом по бакетам). Встроенные бэкапы managed Supabase доступны на платных тарифах и хранятся у самого Supabase — это не внешняя копия.
Дамп managed-проекта удобно снять через Supabase CLI — отдельно роли, схему и данные:
supabase db dump --db-url "$DB_URL" -f roles.sql --role-only
supabase db dump --db-url "$DB_URL" -f schema.sql
supabase db dump --db-url "$DB_URL" -f data.sql --use-copy --data-only
У self-hosted Supabase и других PostgreSQL-бэкендов (Nhost, Yandex Managed PostgreSQL) работает обычный pg_dump по cron с выгрузкой в S3 — см. pg_dump по cron в S3. У PocketBase всё лежит в папке pb_data: база data.db и загруженные файлы; копию базы делайте через .backup, а не cp — подробно в статье бэкап PocketBase.
sqlite3 /opt/pocketbase/pb_data/data.db ".backup '/tmp/pocketbase.db'"
dbsend backup /tmp/pocketbase.db -d "$DBSEND_DATABASE_ID" -e sqlite -l nightly
pg_dump --format=plain "$DATABASE_URL" > /tmp/app.sql
dbsend backup /tmp/app.sql -d "$DBSEND_DATABASE_ID" -e postgresql_dump -l nightly
dbsend хранит версии в S3 в России, показывает diff схемы и числа строк между версиями и шлёт алерт, если бэкап не пришёл по расписанию; сам дамп создаёте вы. Подробнее — бэкапы PostgreSQL в dbsend. Перед переключением DNS обязательно восстановите дамп в чистую базу и сверьте ключевые таблицы — чек-лист в статье как проверить, что бэкап рабочий.
Частые вопросы
Можно ли использовать Supabase в России?
Технически да: сервис доступен. Но бесплатный тариф лимитирован, неактивные проекты ставятся на паузу, оплата требует иностранной карты, а данные хранятся вне России. Для коммерческих проектов с российской аудиторией разумнее рассмотреть self-hosted альтернативы.
Чем PocketBase отличается от Supabase?
PocketBase использует SQLite вместо PostgreSQL: это один файл без Docker и отдельного сервера БД, но без горизонтального масштабирования. Supabase — более зрелый PostgreSQL-стек с богатым функционалом. PocketBase лучше для небольших и средних проектов, Supabase — для команд с опытом PostgreSQL.
Как быстро развернуть аналог Supabase в России?
Арендуйте VPS у российского провайдера, скачайте PocketBase и запустите ./pocketbase serve. Для production добавьте реверс-прокси (Nginx или Caddy) с SSL, systemd-юнит и бэкапы по расписанию.
Appwrite или PocketBase — что выбрать?
PocketBase — если нужен минимальный бюджет и простое развёртывание, а SQLite хватает. Appwrite — если нужны мобильные SDK, serverless-функции на разных языках и более развитая экосистема для команды.
Можно ли хранить данные Firebase в России?
Нет: у Google Cloud нет дата-центров в России. Если 152-ФЗ требует хранить персональные данные в России, используйте российских провайдеров — Yandex Cloud, VK Cloud, Selectel.
Сложно ли поднять self-hosted Supabase?
Сложнее, чем PocketBase, но проще, чем собирать все компоненты по отдельности: Docker Compose поднимает Studio, PostgreSQL, Auth, Storage и REST API. Обязательно смените секреты из .env.example и настройте бэкапы базы и файлов Storage.
Что такое Row-Level Security (RLS) в Supabase?
RLS — механизм PostgreSQL, ограничивающий доступ к строкам таблицы на уровне базы. Supabase использует RLS, чтобы фронтенд мог безопасно обращаться к базе без отдельного бэкенда. В PocketBase аналогичную роль играют API Rules, в Appwrite — permissions.



