
Supabase — open source альтернатива Firebase на PostgreSQL
BaaS-платформа с управляемой PostgreSQL, автогенерацией REST/GraphQL API, аутентификацией, real-time подписками, объектным хранилищем и edge-функциями. Open source, можно развернуть self-hosted.
Характеристики
Тарифы
- Есть пробный период?
- Бесплатная версия?
- Open Source?
- Цена от?
Российский сервис
- Реестр отечественного ПО?
- Соответствие 152-ФЗ?
Платформы
- Веб?
- iOS?
- Android?
- API?
- Десктоп?
- Серверный пакет?
- GitHub?
Интеграции
- Интеграции?
Интеграции с ИИ
- MCP?
- ИИ-инструменты?
Языки
- Языки интерфейса?
Основатель
- Основатель?
Компания
- Компания?
Обзор
Что такое Supabase
Supabase — это open source платформа класса Backend-as-a-Service (BaaS), позиционирующая себя как альтернатива Firebase от Google. В отличие от Firebase, построенного на проприетарной NoSQL-базе Firestore, Supabase использует полноценную реляционную СУБД PostgreSQL. Это дает разработчикам всю мощь SQL, индексов, внешних ключей, хранимых процедур и расширений PostgreSQL, сохраняя при этом простоту BaaS-подхода.
Компания основана в 2020 году Полом Коупландом (Paul Copeland) и Антом Уилсоном (Ant Wilson). Штаб-квартира — в Сингапуре. Supabase является полностью open source продуктом: исходный код платформы доступен на GitHub, и её можно развернуть самостоятельно (self-hosted) с помощью Docker. Облачная версия предоставляет managed-инфраструктуру с бесплатным стартовым тарифом.
Архитектура и компоненты
Supabase — это не монолитный сервис, а набор open source инструментов, объединенных общей панелью управления и SDK:
- PostgreSQL — реляционная база данных (ядро платформы)
- PostgREST — автоматическая генерация RESTful API из схемы БД
- GoTrue — сервис аутентификации и управления пользователями
- Realtime — сервер WebSocket-подписок на изменения в базе
- Storage — объектное хранилище для файлов и медиа
- Edge Functions — бессерверные функции на Deno
- pg_graphql — расширение для GraphQL-запросов к PostgreSQL
- Supabase Studio — веб-панель управления базой данных и проектом
Каждый из этих компонентов можно использовать независимо, но в совокупности они формируют полноценный бэкенд для веб- и мобильных приложений.
Основные возможности
PostgreSQL с расширениями
Каждый проект Supabase получает выделенный инстанс PostgreSQL с поддержкой более 50 расширений. Наиболее востребованные из них:
- pgvector — векторный поиск для AI-приложений (семантический поиск, RAG)
- PostGIS — геопространственные данные и запросы
- pg_cron — планирование периодических SQL-задач
- pg_stat_statements — мониторинг производительности запросов
- pgroonga — полнотекстовый поиск с поддержкой CJK-языков
Разработчик имеет полный доступ к базе данных: можно подключиться напрямую через psql, pgAdmin или любой SQL-клиент. Это принципиально отличает Supabase от Firebase, где прямого доступа к хранилищу данных нет.
Автоматическое API
При создании таблицы в базе данных Supabase автоматически генерирует для неё REST API. PostgREST обеспечивает полный CRUD (создание, чтение, обновление, удаление), фильтрацию, сортировку, пагинацию и вложенные запросы через foreign keys. GraphQL API доступен через расширение pg_graphql.
Клиентский SDK (JavaScript, Python, Dart, Swift, Kotlin) оборачивает эти API в типизированные вызовы. Для TypeScript-проектов Supabase автоматически генерирует типы из схемы базы данных, обеспечивая полную типобезопасность на уровне IDE.
Аутентификация
Встроенная система аутентификации GoTrue поддерживает множество провайдеров:
- Email и пароль
- Magic Link (вход по ссылке без пароля)
- Телефон и SMS OTP
- OAuth-провайдеры: Google, GitHub, GitLab, Discord, Apple, Twitter, Facebook, Slack, Notion, LinkedIn и другие
- SAML 2.0 (для Enterprise SSO)
Аутентификация интегрирована с Row Level Security (RLS) PostgreSQL. Это позволяет определять политики доступа на уровне строк базы данных, используя auth.uid() для идентификации текущего пользователя. Данный подход исключает необходимость писать серверную логику авторизации — все проверки выполняются самой базой данных.
Realtime-подписки
Supabase Realtime позволяет приложениям получать обновления данных в режиме реального времени через WebSocket. Поддерживаются три типа подписок:
- Database Changes — уведомления при INSERT, UPDATE, DELETE в таблицах
- Broadcast — отправка сообщений между клиентами через каналы
- Presence — отслеживание состояния онлайн-пользователей
Эти функции востребованы в чатах, коллаборативных редакторах, дашбордах реального времени и многопользовательских играх.
Хранилище файлов (Storage)
Supabase Storage предоставляет S3-совместимое объектное хранилище для загрузки и управления файлами. Поддерживаются политики доступа через RLS, автоматическая генерация превью для изображений, CDN-кэширование и возобновляемые загрузки больших файлов (resumable uploads через TUS-протокол).
Edge Functions
Бессерверные функции на базе Deno, выполняемые на Edge-серверах по всему миру. Функции пишутся на TypeScript и развертываются через CLI. Они подходят для обработки вебхуков, вызовов AI-моделей, интеграции с платежными системами и другой серверной логики, которую нельзя реализовать на стороне клиента.
AI и векторный поиск
Supabase активно развивает AI-направление. Расширение pgvector превращает PostgreSQL в полноценную векторную базу данных. Это позволяет хранить эмбеддинги текстов, изображений и других данных рядом с основными записями и выполнять семантический поиск без использования отдельной системы (Pinecone, Weaviate).
В 2025-2026 годах появились Vector Buckets — специализированные хранилища для автоматической генерации и индексации эмбеддингов. Также доступны интеграции с OpenAI и Hugging Face прямо из SQL-запросов через Edge Functions.
Инструмент postgres.new использует AI для генерации SQL-запросов, создания таблиц и миграций на основе описания на естественном языке.
Тарифы Supabase
| Параметр | Free | Pro ($25/мес) | Team ($599/мес) | Enterprise |
|---|---|---|---|---|
| Проекты | 2 | Без ограничений | Без ограничений | Без ограничений |
| БД (PostgreSQL) | 500 МБ | 8 ГБ | 8 ГБ | По договору |
| Storage | 1 ГБ | 100 ГБ | 100 ГБ | По договору |
| Bandwidth | 5 ГБ | 250 ГБ | 250 ГБ | По договору |
| Edge Functions | 500K вызовов | 2 млн | 2 млн | По договору |
| Realtime | 200 подключений | 500 | 500 | По договору |
| Приостановка | Через 1 неделю неактивности | Нет | Нет | Нет |
| Бэкапы | Нет | Ежедневные, 7 дней | Ежедневные, 14 дней | PITR |
| SSO/SAML | Нет | Нет | Нет | Да |
На бесплатном тарифе проект приостанавливается после недели неактивности. При возобновлении данные сохраняются, но восстановление может занять несколько минут. Превышение лимитов на платных тарифах тарифицируется отдельно.
Self-hosted Supabase
Supabase можно развернуть на собственной инфраструктуре с помощью Docker Compose. Официальный docker-compose.yml включает все необходимые сервисы: PostgreSQL, GoTrue, PostgREST, Realtime, Storage и Studio. Это позволяет:
- Полностью контролировать данные и инфраструктуру
- Соответствовать требованиям 152-ФЗ при размещении на российских серверах
- Избежать vendor lock-in
- Настроить ресурсы под свои нагрузки
Недостаток self-hosted варианта — необходимость самостоятельно обеспечивать обновления, бэкапы, мониторинг и масштабирование.
Для кого подходит Supabase
- Стартапы и инди-разработчики, которым нужен бэкенд за минуты
- TypeScript/JavaScript-команды, работающие с Next.js, React, Svelte
- Мобильные разработчики на Flutter, Swift, Kotlin
- AI-проекты, которым нужна векторная база данных рядом с реляционными данными
- Проекты с real-time функциональностью: чаты, коллаборативные инструменты, дашборды
Ограничения
- На бесплатном тарифе проекты приостанавливаются при неактивности
- Edge Functions работают только на Deno (не Node.js)
- GraphQL API находится в бета-стадии
- Нет встроенного полнотекстового поиска на русском языке (требуется настройка словарей PostgreSQL)
- Облачные серверы расположены в AWS-регионах (нет российских дата-центров)
- Для сложной бизнес-логики всё равно потребуется серверный код (Edge Functions или внешний бэкенд)
Конкуренты и альтернативы
| Платформа | Тип БД | Open Source | Self-hosted | Ключевое отличие |
|---|---|---|---|---|
| Firebase | NoSQL (Firestore) | Нет | Нет | Глубокая интеграция с Google Cloud |
| Neon | PostgreSQL | Да | Нет | Serverless PostgreSQL, branching |
| PocketBase | SQLite | Да | Да | Один бинарник, простота |
| Appwrite | MariaDB | Да | Да | Акцент на мобильные приложения |
| Hasura | PostgreSQL | Да | Да | GraphQL-first подход |
Миграции и схема базы данных
Supabase предоставляет инструменты для управления схемой базы данных через миграции. Supabase CLI генерирует SQL-миграции при изменениях в локальной базе данных и применяет их к удаленному проекту. Это обеспечивает контроль версий схемы наравне с кодом приложения.
Supabase CLI
Командная строка Supabase позволяет:
- Инициализировать локальный проект с полной копией инфраструктуры (PostgreSQL, GoTrue, PostgREST, Studio)
- Генерировать миграции из diff между локальной и удаленной базой
- Применять миграции к production без простоя (zero-downtime migrations)
- Генерировать TypeScript-типы из текущей схемы базы
- Управлять Edge Functions: создание, тестирование и деплой
Database Branching
Supabase поддерживает создание изолированных веток базы данных для тестирования изменений. Каждый pull-request может получить собственную копию базы с применёнными миграциями, что позволяет тестировать изменения схемы без риска для production.
Интеграция с фреймворками
Supabase предоставляет готовые интеграции с популярными фреймворками, значительно ускоряющие разработку:
Next.js
Пакет @supabase/ssr обеспечивает корректную работу аутентификации в Server Components и Server Actions Next.js. Cookie-based сессии автоматически обновляются через Middleware, обеспечивая бесшовный SSR с авторизацией. Есть готовые шаблоны для App Router и Pages Router.
Flutter
Dart SDK (supabase_flutter) предоставляет полный доступ к API платформы: аутентификация, realtime, storage и база данных. Deep link-поддержка для OAuth-авторизации через системный браузер. Supabase является одним из самых популярных бэкендов в экосистеме Flutter.
React Native
JavaScript SDK работает в React Native без модификаций. AsyncStorage используется для хранения сессий. Интеграция с push-уведомлениями реализуется через Edge Functions и webhooks.
Row Level Security на практике
RLS — один из ключевых паттернов Supabase. Вместо проверки прав доступа в серверном коде, политики безопасности определяются прямо в PostgreSQL. Примеры:
- Пользователь видит только свои записи: policy using (auth.uid() = user_id)
- Чтение доступно всем, запись — только автору: select — без ограничений, insert/update/delete — с проверкой auth.uid()
- Модерация: роль admin видит все записи, обычный пользователь — только опубликованные
- Организационные права: пользователь видит данные своей организации через JOIN с таблицей members
RLS-политики выполняются на уровне СУБД и не могут быть обойдены через клиентский SDK. Это устраняет целый класс уязвимостей, связанных с IDOR (Insecure Direct Object Reference).
Мониторинг и производительность
Supabase Dashboard включает инструменты для мониторинга производительности базы данных:
- Query Performance — анализ медленных запросов с рекомендациями по индексам
- Database Health — использование CPU, RAM, дисков и количество подключений
- Realtime Inspector — мониторинг WebSocket-подключений и каналов
- Auth Logs — логи аутентификации и ошибок авторизации
- API Logs — все обращения к PostgREST API с фильтрацией по маршруту и статусу
Для production-проектов рекомендуется настроить оповещения на критические метрики (CPU > 80%, подключения > 80% лимита) через интеграцию с внешними системами мониторинга.
Supabase в российских реалиях
Облачная версия Supabase размещена на AWS, серверы расположены за пределами России. Для проектов, работающих с персональными данными российских граждан, рекомендуется self-hosted вариант на российских серверах (Selectel, Yandex Cloud). При этом необходимо учитывать:
- Self-hosted Supabase требует самостоятельного администрирования PostgreSQL, обновлений и бэкапов
- Оплата облачной версии возможна только иностранными картами
- Задержка до AWS-серверов в Европе — 30-70 мс, что приемлемо для большинства веб-приложений
- Для критичных к задержке приложений (финтех, игры) лучше использовать self-hosted на российских серверах
Типичные сценарии использования
MVP стартапа за выходные
Supabase позволяет запустить полноценный бэкенд за часы: создать таблицы через Studio, настроить RLS, добавить аутентификацию и сразу начать писать фронтенд. Бесплатного тарифа достаточно для прототипа с сотнями пользователей.
Real-time коллаборативное приложение
Supabase Realtime (Database Changes + Presence + Broadcast) предоставляет все примитивы для создания приложений вроде совместного редактирования документов, канбан-досок или чатов. Presence отслеживает, кто из пользователей сейчас онлайн и что они делают.
AI-приложение с RAG
Комбинация pgvector для хранения эмбеддингов, Edge Functions для вызова OpenAI API и PostgREST для доступа к данным создает полный стек для Retrieval-Augmented Generation. Документы индексируются в векторную базу, пользовательские запросы обогащаются релевантным контекстом из базы перед отправкой в LLM.
Вопросы и ответы
Да. Бесплатный тариф включает 2 проекта, 500 МБ базу данных, 1 ГБ хранилища и 5 ГБ трафика. Однако проекты приостанавливаются после недели неактивности.
Supabase использует PostgreSQL (реляционная БД с SQL), а Firebase — NoSQL (Firestore). Supabase полностью open source и может быть развернут self-hosted. Firebase глубже интегрирован с экосистемой Google Cloud.
Да. Supabase полностью open source. Развертывание выполняется через Docker Compose. Это позволяет контролировать данные и соответствовать требованиям 152-ФЗ.
Да. Расширение pgvector позволяет хранить эмбеддинги и выполнять семантический поиск прямо в PostgreSQL. Это удобно для RAG-приложений и AI-чатботов.
Нет. Облачная версия Supabase размещена в AWS-регионах за пределами России. Для соответствия 152-ФЗ рекомендуется self-hosted вариант на российских серверах.
Официальные SDK доступны для JavaScript/TypeScript, Python, Dart (Flutter), Swift (iOS) и Kotlin (Android). Также существуют community-SDK для Go, Ruby, C# и других языков.
Новости сервиса
Новостей пока нет
Обновления сервиса
Обновлений пока нет
Промокоды
Войти, чтобы добавитьПромокодов пока нет
Знаете промокод? Поделитесь с сообществом!
Отзывы
Все отзывыОставьте отзыв о Supabase — open source альтернатива Firebase на PostgreSQL
Отзывов пока нет
Станьте первым, кто оставит отзыв