🚀 Supabase на VPS — свой Postgres и Auth

Что на самом деле нужно официальному self-hosted Supabase: подбор 8–16 ГБ, docker compose, Kong, Studio и честные ограничения против облака.

Собственный Supabase — это весь бэкенд: Postgres с realtime, авторизация GoTrue, хранилище, шлюз Kong и Studio, работающие на вашем VPS из официального стека docker compose. Это то же программное обеспечение, что и в облачном тарифе; меняется лишь то, кто его обновляет и кто делает резервные копии: вы.

1. Подбор ресурсов — сначала честные цифры

  • 8 ГБ RAM для комфортной работы — официальный compose запускает около десятка контейнеров (шлюз, studio, auth, хранилище, realtime, postgres…); Supabase указывает 4 ГБ как абсолютный минимум, но настоящему стеку с данными нужно 8.
  • 16 ГБ — комфортно: подписки realtime и запросы Postgres перестают бороться за память.
  • NVMe важен: Postgres и загрузки хранилища на одном диске; честный выбор — Core VPS 8 NVMe (€34/мес).
  • Диск: 150 ГБ NVMe на этом тарифе вмещают базы данных и год загрузок.

2. Установка

apt update && apt install -y git ufw
git clone --depth 1 https://github.com/supabase/supabase.git
cd supabase/docker
cp .env.example .env
# отредактируйте .env: POSTGRES_PASSWORD, JWT_SECRET, ANON_KEY, SERVICE_ROLE_KEY
# (сгенерировать: openssl rand -base64 32 для каждого секрета)
docker compose pull && docker compose up -d
docker compose ps   # около десятка контейнеров должны стать running

Никогда не используйте примерные JWT-ключи — каждый туториал по Supabase их проверяет, и они публичны. Направьте A-запись DNS на сервер, а затем поставьте Kong (порт 8000) и Studio (порт 3000) за сертификаты Caddy — по той же схеме, что в руководстве по Node.js.

3. Подключите приложение

Направьте SDK на `https://api.example.com` (Kong): `ANON_KEY` — для клиентов, `SERVICE_ROLE_KEY` — только на стороне сервера. Миграции выполняются через CLI supabase против вашего удалённого проекта — тот же процесс, что и в облаке, только на вашем домене.

Быстрые ответы

Свой сервер или облако Supabase?

Облако даёт управляемые обновления, резервные копии на момент времени, ветвление и edge-функции без настройки — вы платите за проект и за использование. Свой сервер даёт фиксированные расходы, ваши данные на вашем диске и отсутствие привязки к поставщику — но обновления, резервные копии и мониторинг ложатся на вас. Уверенно работаете с `docker compose` и таймером restic? Ставьте у себя. Иначе начните с бесплатного облачного тарифа и перенесите позже.

Что работает не так, как в облаке?

Ветвление баз данных и удобства облачной панели доступны только в облаке. Edge-функции идут в комплекте со стеком, но требуют больше ручной настройки, чем управляемая версия. Realtime работает и масштабируется вашим собственным Redis — для продуктов этого хватит, но не для миллиона соединений на машине за €34.

Бэкенд, которым вы владеете, на выбранном вами оборудовании. Core VPS 8 NVMe (24 ГБ, €34/мес) →

Смотрите также

Смотреть тарифыГайдыFAQ