Блог инфра

Supabase — открытый backend для приложений

Supabase (supabase.com) — open-source альтернатива Firebase: Postgres + Auth + Storage + Realtime + Edge Functions в одной платформе с единым SDK. По Wordstat — 7 020 показов/мес в Рунете, один из самых ищущих backend-сервисов 2026 года.

Главная идея — дать готовый backend за 5 минут вместо недель: создаёте проект, получаете БД, регистрацию пользователей, файловое хранилище, real-time подписки и едж-функции через один SDK.

Главное в 30 секунд

ПараметрSupabase
ТипBackend-as-a-Service (BaaS), open-source
БДPostgres
Authemail/OAuth/SMS/SSO
StorageS3-совместимое объектное хранилище
Realtimeподписки на изменения БД
Edge Functionsserverless на Deno
ТарифыFree + Pro $25/мес + Team $599/мес
Из РФ✓ работает, оплата зарубежной картой
Главный конкурентFirebase, Timeweb Managed Postgres

Что входит в Supabase

1. Postgres БД

Полноценный Postgres 15-16. Не «упрощённая БД» — настоящий Postgres со всеми возможностями:

  • Реляционные таблицы, JOIN, transactions
  • JSONB для гибкости
  • Full-text search
  • pgvector для AI / RAG
  • Триггеры, функции, материализованные представления
  • Row Level Security (RLS) — права доступа на уровне строк

Дашборд Supabase предлагает визуальный Table Editor — можно работать с БД без SQL.

2. Auth

Полная авторизация из коробки:

  • Email / password
  • Magic link (вход по ссылке из email)
  • OAuth (Google, GitHub, Discord, Twitter, и др.)
  • SMS / phone (через Twilio)
  • Anonymous sign-in
  • SSO для Enterprise

JWT-токены, refresh-токены, сессии — всё уже сделано.

3. Storage

S3-совместимое хранилище для файлов:

  • Загрузка / скачивание через SDK
  • Картинки на лету (resize, формат)
  • Контроль доступа через политики
  • CDN на больших тарифах

4. Realtime

WebSocket-подписки на изменения БД. Любое изменение в таблице — событие на клиенте в real-time. Идеально для чатов, дашбордов с live-метриками, коллаборативных приложений.

5. Edge Functions

Serverless-функции на Deno (TypeScript). Деплой одной командой. Подходит для:

  • AI-обёрток над OpenAI / Anthropic
  • Webhook-обработчиков (Stripe, ЮKassa)
  • Cron-задач
  • Кастомной бизнес-логики

Тарифы

По supabase.com/pricing:

ТарифЦена/месВключено
Free$0500 MB БД, 1 GB Storage, 50k MAU
Pro$258 GB БД, 100 GB Storage, 100k MAU, point-in-time recovery
Team$599для команд, SSO, SLA
Enterpriseпо запросуdedicated infra, кастом

Из РФ: доступен без VPN, оплата зарубежной картой.

Supabase vs Firebase

ПараметрSupabaseFirebase
БДPostgres (SQL)Firestore (NoSQL)
Open-source
Self-hosted
Vendor lock-inминимальныйсильный
Ценыпрозрачныесложные на больших объёмах
Realtimeчерез WS на БДнативный
Authдада
Storageдада
Edge FunctionsDenoCloud Functions (Node.js)
Дашбордудобныйудобный

Supabase выигрывает у Firebase:

  • Open-source — можно self-host
  • Реляционная БД — Postgres знакомее большинству
  • Цены прозрачнее

Firebase выигрывает:

  • Зрелая платформа (с 2014)
  • Лучшая мобильная поддержка (iOS / Android SDK)
  • Глубокая интеграция с экосистемой Google

В 2026 году большинство новых проектов выбирает Supabase.

Supabase vs Timeweb Managed Postgres

ПараметрSupabaseTimeweb Postgres
БД
Authвстроеннадо подключать отдельно
Storageвстроеннадо S3
Realtimeвстроеннадо подключать
РасположениеСША / ЕС / СингапурМосква / Питер
Оплатазарубежная картакартой РФ
152-ФЗ compliance
Цена старт$0800 ₽/мес

Когда выбрать Supabase:

  • Зарубежная аудитория
  • Нужны auth + storage + realtime сразу
  • Скорость старта важнее compliance

Когда выбрать Timeweb:

  • Российская аудитория
  • Compliance 152-ФЗ обязателен
  • Оплата картой РФ

Гибридный вариант — БД с ПДн на Timeweb (для compliance), не-ПДн в Supabase. Подробнее — база данных для проекта.

Как начать

Шаг 1. Регистрация

  1. Зайти на supabase.com — без VPN
  2. Sign up через GitHub
  3. Создать новый проект — указать имя, регион (West US, EU West, Singapore — выбирайте близкий к аудитории), пароль БД

Через 1-2 минуты проект готов.

Шаг 2. Подключение

В Settings → API получаете:

  • Project URLhttps://xxx.supabase.co
  • anon key — публичный ключ для клиента
  • service_role key — приватный, для бэкенда

Шаг 3. Использование в Next.js / React

npm install @supabase/supabase-js
import { createClient } from "@supabase/supabase-js";

const supabase = createClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL!,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
);

// Создать таблицу через Dashboard или SQL Editor

// Чтение данных
const { data, error } = await supabase
  .from("posts")
  .select("*")
  .order("created_at", { ascending: false });

// Регистрация пользователя
const { user, error: signUpError } = await supabase.auth.signUp({
  email: "user@example.com",
  password: "secure-password",
});

// Realtime подписка
supabase
  .channel("posts")
  .on("postgres_changes", { event: "*", schema: "public", table: "posts" },
      (payload) => console.log("New change:", payload))
  .subscribe();

Использование с AI-проектами

Supabase хорошо подходит для AI-приложений:

RAG-системы

pgvector для хранения эмбеддингов:

CREATE EXTENSION vector;

CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536)  -- размер для OpenAI text-embedding-3
);

-- Поиск ближайших векторов
SELECT content FROM documents
ORDER BY embedding <=> $1
LIMIT 5;

AI-чаты

Realtime + auth + хранение истории = готовый AI-чат с пользователями.

Edge Functions для AI

Деплоите функцию-обёртку над OpenAI / Claude API. Клиент не видит ваш API-ключ.

// supabase/functions/ai-chat/index.ts
Deno.serve(async (req) => {
  const { messages } = await req.json();
  const response = await fetch("https://api.openai.com/v1/chat/completions", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${Deno.env.get("OPENAI_API_KEY")}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ model: "gpt-5", messages }),
  });
  return new Response(await response.text(), { headers: { "Content-Type": "application/json" } });
});

Главные ошибки новичков

1. Не настроили Row Level Security. На дефолтных настройках любой пользователь может прочитать чужие данные. Включите RLS для каждой таблицы и пропишите политики.

2. Хранение API-ключей на клиенте. service_role key НИКОГДА не должен попасть в браузер — это даёт полный доступ. Только anon key на клиенте.

3. Игнорирование лимитов Free плана. 500 MB БД быстро кончается на проекте с активностью. Платный план — $25 на 8 GB.

4. Деплой Edge Functions без тестов. Edge Functions сложнее дебажить в production. Тестируйте локально через supabase functions serve.

5. Использование в РФ-продукте без compliance. Supabase БД в США / ЕС = нарушение 242-ФЗ для ПДн россиян. Для compliance — переезд на Timeweb Postgres.

Self-hosting

Supabase — open-source, можно развернуть на своём сервере:

git clone https://github.com/supabase/supabase
cd supabase/docker
docker-compose up -d

Зачем self-host:

  • Compliance — данные в РФ
  • Экономия на больших объёмах
  • Полный контроль инфраструктуры

Минусы:

  • Сложнее в поддержке (бэкапы, обновления, мониторинг — на вас)
  • Нет автомасштабирования

FAQ

Что такое Supabase простыми словами? Готовый бэкенд для веб-приложений. Postgres + регистрация + хранение файлов + real-time в одном пакете. Не нужно поднимать сервер и писать API с нуля.

Supabase бесплатный? Free план — 500 MB БД, 50k MAU, бесплатно навсегда (с лимитами). Платный — от $25/мес.

Можно ли использовать Supabase из России? Да, supabase.com открывается без VPN. Оплата — виртуальной картой. Главный минус — серверы в США/ЕС/Сингапуре (нарушение 242-ФЗ если храните ПДн россиян).

Что лучше — Supabase или Firebase? Supabase для большинства проектов в 2026. Open-source, Postgres знакомее, без vendor lock-in. Firebase — если уже в экосистеме Google или нужна сильная мобильная разработка.

Можно ли мигрировать с Firebase на Supabase? Да, есть инструменты миграции схем и данных. Но это серьёзная работа, лучше планировать как отдельный проект на 1-2 недели.

Какие фреймворки лучше всего работают с Supabase? Next.js, Astro, Remix, Vue, Svelte, SolidJS — все официально поддерживаются с SDK и примерами. iOS / Android — через REST API.

Supabase подходит для production? Да. На Pro и Team тарифах с point-in-time recovery, SLA, мониторингом — подходит для серьёзных продуктов. Многие проекты с миллионами пользователей работают на Supabase.

Безопасен ли Supabase? Да, при правильной настройке RLS. Главный риск — оставить таблицы публичными или утечь service_role key. Аудит безопасности обязателен перед production.