Что установлено на вашем сервере Supabase?
- Официальная установка Supabase на Docker, зафиксированная на теге выпуска v1.26.08
- PostgreSQL 17 и экран администратора Studio
- Службы Auth для входа, PostgREST, Realtime, Storage для файлов и Edge Runtime
- Пулер подключений Supavisor, порты 5432 и 6543 открыты
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY и POSTGRES_PASSWORD, сгенерированные официальными скриптами
- HTTPS через Caddy на адресе sslip.io, построенном по вашему IP, так что домен необязателен
- Настройки в /opt/seturack/supabase/.env
- Брандмауэр, в котором открыты только порты 22, 80, 443, 5432 и 6543
Какой размер нужен для Supabase?
В документации Supabase по Docker минимум — 4 ГБ оперативной памяти, 2 ядра и 40 ГБ диска, а рекомендуется 8 ГБ оперативной памяти и больше, 4 ядра и больше и 80 ГБ диска и больше. Для разработки и небольших проектов начните с 4 ГБ, а для проекта с реальными пользователями рассмотрите 8 ГБ. Если убрать из файла Compose ненужные службы, например Realtime или Storage, требования снизятся. Если этого мало, увеличьте оперативную память, CPU и диск по отдельности в панели, а ваши данные и IP-адрес останутся прежними.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Стартовый | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/мес. | |
| Средний | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/мес. | |
| Мощный | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/мес. |
Кому подходит?
- Те, кто переносит проект Supabase на собственный сервер
- Те, кто собрал приложение с помощью ИИ-инструментов и хочет держать его базу данных и вход на своём сервере
- Разработчики, которые настраивают себе среду для разработки и тестирования
Что будет после заказа?
- Задайте размер и оплатите заказ.
- Сервер запускается, и Supabase устанавливается сам. В наших проверках на настоящих серверах это заняло около 8 минут. На вкладке «Обзор» дождитесь, пока в строке «Приложение» появится сообщение, что Supabase готов.
- Откройте ссылку в строке «Адрес панели». Браузер запросит «Логин» и «Пароль», после чего откроется Studio.
- Подключитесь по SSH и прочитайте ключи: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Передайте приложению «Адрес панели» и публикуемый ключ, а секретный ключ держите только на стороне сервера.
- Задайте в .env значения SITE_URL и ADDITIONAL_REDIRECT_URLS по адресу вашего приложения, затем выполните docker compose up -d.
С каждым сервером
- Ежедневные бэкапы входят в цену
- Безлимитный трафик
- Полный root-доступ
- Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
- Расположение: Istanbul · IST-1.
Полезно знать
- Собственный Supabase запускает один проект. В официальной документации сказано, что ветвление, PITR, Management API и бакеты аналитики в такой установке недоступны.
- После установки SITE_URL у Auth указывает на защищённый паролем адрес Studio, поэтому ссылки в письмах ведут туда. Впишите адрес своего приложения в SITE_URL и ADDITIONAL_REDIRECT_URLS.
- Порты 5432 и 6543 открыты в интернет, и ufw не может их закрыть, потому что их публикует Docker. Чтобы ограничить доступ, добавьте 127.0.0.1: в начало строк с портами Supavisor в docker-compose.yml и используйте SSH-туннель.
- Обновлять нужно вам самим. Supabase выпускает свою конфигурацию Compose примерно раз в месяц, а скрипт update.sh в этой папке вносит изменения в вашу установку.
Supabase: вопросы и ответы
Сколько оперативной памяти нужно собственному Supabase?
В документации Supabase для собственной установки требуется не менее 4 ГБ оперативной памяти, 2 ядра и 40 ГБ диска, а рекомендуется 8 ГБ оперативной памяти и больше. Если убрать из файла Compose ненужные службы, требования снизятся.
Где найти ключи API Supabase?
Подключитесь по SSH и посмотрите /opt/seturack/supabase/.env. SUPABASE_PUBLISHABLE_KEY предназначен для клиентского кода. SUPABASE_SECRET_KEY даёт полные права и должен храниться только на стороне сервера. Прежние ANON_KEY и SERVICE_ROLE_KEY продолжают работать.
Как подключить приложение к собственному Supabase?
В supabase-js передайте в createClient «Адрес панели» и значение SUPABASE_PUBLISHABLE_KEY. REST, Auth, Storage и Realtime находятся под этим адресом. Логин и пароль, которые запрашивает браузер, нужны только для Studio, а запросы к API проверяются по ключу.
Как подключиться к базе данных Supabase снаружи?
Подключения идут через Supavisor: postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. Порт 5432 — сессионный режим, а 6543 — режим транзакций. your-tenant-id — это значение POOLER_TENANT_ID из .env. Сам Postgres наружу не публикуется.
Почему не приходят письма при регистрации в Supabase?
При установке настоящий SMTP-сервер не задан, поэтому регистрация с подтверждением по email не может завершиться. Заполните значения, начинающиеся с SMTP_, в /opt/seturack/supabase/.env данными вашего почтового провайдера, затем выполните docker compose up -d в этой папке. Чтобы разрешить регистрацию без подтверждения, посмотрите параметр ENABLE_EMAIL_AUTOCONFIRM.
Можно ли запустить несколько проектов Supabase?
Одна установка запускает один проект, а Studio не поддерживает несколько организаций или проектов. Для каждого проекта используйте отдельный сервер.
Делается ли бэкап данных Supabase?
Бэкап вашего сервера создаётся каждую ночь, хранятся последние 7 дней, и это входит в цену. Управляемые бэкапы Supabase и PITR в собственную установку не входят. Чтобы вернуться к конкретному моменту, храните и свои файлы pg_dump.