Практический кейс миграции из «наследной» amoCRM в open-source Twenty CRM: аудит процессов, перенос 50 активных сделок с помощью OpenClaw-агента, нормализация данных и сборка дашбо…
База знаний
Supabase — open-source альтернатива Firebase на базе PostgreSQL
Open-source backend-as-a-service: PostgreSQL, авторизация, хранилище, Realtime и Edge Functions в одной коробке. Можно использовать облако или поднять локально через Docker.
Supabase — это «Firebase на Postgres»: готовый backend с базой, авторизацией, хранилищем и Realtime, который можно запустить в облаке за минуту или поднять у себя через Docker.
Что это такое
Supabase — open-source backend-as-a-service, построенный поверх PostgreSQL. Компания из Сингапура, проект живой, активно развивается с 2020 года.
В одной коробке собраны:
- Postgres-база — полноценная, без урезанных режимов, с расширениями (pgvector, PostGIS, pg_cron).
- Auth — регистрация по email, magic link, OAuth (Google, GitHub, Apple и ещё десяток), OTP, SSO.
- Storage — S3-совместимое файловое хранилище с правами доступа на уровне RLS.
- Realtime — подписки на изменения в таблицах через WebSocket.
- Edge Functions — serverless-функции на Deno, запускаются ближе к пользователю.
- Auto-generated API — REST и GraphQL поверх схемы Postgres, без написания бэкенда.
Клиентские SDK есть для JavaScript, TypeScript, Python, Dart/Flutter, Swift, Kotlin.
Зачем нужен
Когда хочется начать проект быстро и не писать с нуля авторизацию, CRUD, загрузку файлов и вебсокеты.
Типичные задачи:
- MVP и прототипы с полноценным бэком за пару часов
- Мобильные и веб-приложения, где нужен быстрый auth + БД
- Замена Firebase для тех, кому нужен SQL, а не NoSQL
- Локальный backend для дев-окружения без облака
- Pet-проекты на бесплатном тарифе
Почему Postgres важен: в отличие от Firebase вы получаете нормальную реляционную БД с JOIN-ами, транзакциями, миграциями и возможностью в любой момент забрать дамп и уехать на свой сервер.
Два способа использовать
1. Облако (supabase.com)
Регистрируетесь, создаёте проект — получаете URL вида https://xxx.supabase.co, API-ключи и доступ к дашборду. Бесплатный тариф: 500 МБ БД, 1 ГБ storage, 50 000 MAU. Для прода — Pro от $25/мес.
2. Self-hosted через Docker
Полностью тот же стек, только у вас на сервере или ноутбуке. Подходит для локальной разработки, закрытых контуров и случаев, когда нужен полный контроль над данными.
Быстрая установка локально (Docker)
Предполагается, что у вас уже есть Docker — на Mac удобнее всего через OrbStack.
Шаг 1. Клонировать репозиторий
git clone --depth 1 https://github.com/supabase/supabase
cd supabase/dockerШаг 2. Скопировать env
cp .env.example .envВ .env минимум поменяйте:
POSTGRES_PASSWORD— пароль к базеJWT_SECRET— длинная случайная строка (минимум 32 символа)ANON_KEYиSERVICE_ROLE_KEY— сгенерируйте на supabase.com/docs/guides/self-hosting (там есть online-генератор)DASHBOARD_USERNAME/DASHBOARD_PASSWORD— доступ к Studio
Шаг 3. Поднять стек
docker compose pull
docker compose up -dПервый запуск — минуту-две, качаются образы. Дальше — секунды.
Шаг 4. Открыть дашборд
- Studio (UI): http://localhost:8000
- API: http://localhost:8000 (префиксы
/rest/v1,/auth/v1,/storage/v1) - Postgres:
localhost:5432, пользовательpostgres, пароль из.env
На OrbStack контейнер дополнительно доступен по supabase-studio.orb.local без проброса портов.
Шаг 5. Остановить / сбросить
# Остановить
docker compose down
# Снести вместе с данными
docker compose down -vПодключение из приложения
JavaScript / TypeScript
npm install @supabase/supabase-jsimport { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'http://localhost:8000',
'YOUR_ANON_KEY'
)
// Запрос к таблице
const { data, error } = await supabase
.from('posts')
.select('*')
.order('created_at', { ascending: false })
// Авторизация
await supabase.auth.signInWithPassword({
email: 'user@example.com',
password: 'secret',
})
// Realtime подписка
supabase
.channel('posts')
.on('postgres_changes', { event: '*', schema: 'public', table: 'posts' }, (payload) => {
console.log('Change:', payload)
})
.subscribe()CLI для миграций
npm install -g supabase
# Инициализация проекта
supabase init
# Новая миграция
supabase migration new create_posts_table
# Применить к локальной БД
supabase db pushRow Level Security (RLS) — главная фишка
Supabase завязан на RLS-политики Postgres. Вместо бэкенда с проверками прав вы пишете SQL-политики, и база сама решает, кто что видит.
-- Включить RLS
alter table posts enable row level security;
-- Пользователь видит только свои посты
create policy "Users see own posts"
on posts for select
using (auth.uid() = user_id);
-- Создавать может только авторизованный
create policy "Authenticated can insert"
on posts for insert
with check (auth.role() = 'authenticated');На клиенте вы ходите напрямую в базу — политики защищают данные. Это сокращает бэкенд до нуля для большинства CRUD-сценариев.
Лицензия и цены
- Self-hosted — бесплатно, Apache 2.0. Без ограничений.
- Free (облако) — 500 МБ БД, 1 ГБ storage, 50 000 MAU, проект засыпает через 7 дней простоя.
- Pro — от $25/мес. 8 ГБ БД, 100 ГБ storage, 100 000 MAU, без сна.
- Team — от $599/мес. SSO, SOC 2, приоритетная поддержка.
- Enterprise — по договору.
Когда Supabase не подойдёт
- Нужен NoSQL / документная модель — Postgres есть Postgres, JSONB помогает, но это не Mongo.
- Жёсткие требования по комплаенсу на бесплатном тарифе — аудит и соглашения начинаются с Team-плана.
- Edge Functions как основа бэкенда — они есть, но для сложной логики лучше отдельный сервис (Hono, Fastify, Go).
- Полноценный realtime-чат на миллионы подключений — Realtime отличный, но для таких нагрузок стоит смотреть специализированные решения.
Итог
Supabase закрывает 80% типового бэкенда коробочно: auth, БД, storage, API, realtime. Для pet-проектов — бесплатно в облаке, для прода и закрытых контуров — self-hosted через Docker за 5 минут.
Если вам нужно «Firebase, но на SQL и open-source» — это оно.
Сайт: https://supabase.com
Документация: https://supabase.com/docs
GitHub: https://github.com/supabase/supabase
По теме
- Статья: Как два ИИ-агента и один человек собрали этот сайт за ночь
- Блог: Не гонитесь за инструментами — гонитесь за пониманием
- База знаний: Directus — headless CMS и backend как контентный хаб
- База знаний: Strapi — open-source Headless CMS
Supabase хорошо ложится рядом с Directus и Strapi: если нужен полноценный backend с auth и realtime — берёте Supabase, если нужен headless CMS под контент — Directus или Strapi. Все три легко поднимаются локально через Docker и OrbStack.