Supabase — это альтернатива Firebase с открытым исходным кодом, которая включает в себя базу данных Postgres, аутентификацию пользователей и возможности REST API. Она представляет собой надёжную платформу для создания серверной части Angular, React, Next.js и других интерфейсных приложений.

Руководство включает загрузку Supabase, настройку необходимых параметров и внедрение мер безопасности, таких как SSL/TLS, для создания надёжной среды разработки.
Установка Supabase
Теперь, когда Docker установлен и настроен, загрузите Supabase с помощью приведенной ниже команды.
git clone --depth 1 https://github.com/supabase/supabase
Затем создайте файл конфигурации среды Supabase на основе примера.
cd supabase/docker/
cp .env.example .env
Затем выполните приведенную ниже команду, чтобы загрузить образы Supabase из репозитория Docker.
docker compose pull
После завершения процесса выполните приведенную ниже команду, чтобы запустить контейнеры Supabase.
docker compose up -d
Docker должен быть запущен, но не настроен должным образом. Ниже приведены инструкции по настройке Supabase.
Базовая настройка
Несмотря на то, что Supabase работает в вашей системе, пароль и аутентификация ещё не настроены.
Для этого сгенерируйте пароли для сервера PostgreSQL и панели управления Supabase, а затем сгенерируйте секрет и токен JWT.
Для создания паролей можно использовать приведенную ниже команду.
openssl rand -hex 16
Команда должна вывести секреты, которые вы сможете использовать позже в файле конфигурации Supabase.
После этого перейдите на сайт Supabase, чтобы сгенерировать два токена JWT для Supabase. Запустите эту форму дважды, чтобы сгенерировать новые ключи anon
и service
API.

После создания всех токенов и секретов откройте файл конфигурации среды Supabase.
nano .env
Настройте выделенные линии в соответствии с необходимыми параметрами.
Обновите «POSTGRES_PASSWORD», используя сгенерированный пароль OpenSSL. Обновите «JWT_SECRET», используя значение, сгенерированное на веб-сайте Supabase. Сделайте то же самое для значений «ANON_KEY» и «SERVICE_ROLE_KEY».
###########
# Secrets
# YOU MUST CHANGE THESE BEFORE GOING INTO PRODUCTION
############
POSTGRES_PASSWORD=b26d8c7220e2abac6c2cb090ce9bf4a3
JWT_SECRET=3135pJUeF863MLQ8WaadlYmMW49gb5Hax8t9zEFQ
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjo............
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJ............
DASHBOARD_USERNAME=supabase
DASHBOARD_PASSWORD=75672d66af67b1565b1540f2d2ae6309
В разделе URL укажите правильные URL-адреса.
## General
SITE_URL=http://localhost:3000
ADDITIONAL_REDIRECT_URLS=
JWT_EXPIRY=3600
DISABLE_SIGNUP=false
API_EXTERNAL_URL=http://localhost:8000
Сохраните файл и закройте редактор, когда закончите.
Затем остановите и перезапустите контейнер Docker с Supabase, чтобы изменения вступили в силу.
docker compose down
docker compose up -d
Вы можете войти в панель управления по следующему URL-адресу:
http://localhost:8000

Введите учетную запись и пароль supabase в файл конфигурации (.env).
Настройка обратного прокси-сервера
Теперь, когда Supabase настроен, вы можете использовать обратный прокси-сервер, чтобы обеспечить доступ к приложению через доменное имя и оптимизировать веб-трафик.
По двум ссылкам ниже показано, как настроить обратный прокси-сервер с помощью Nginx или Apache.
Настройка Let’s Encrypt SSL/TLS
Возможно, вы захотите установить сертификат SSL/TLS для защиты вашего сайта Supabase. Защитите установку приложения с помощью HTTPS от Let’s Encrypt.
Пожалуйста, ознакомьтесь с постом ниже, чтобы получить дополнительную информацию об установке и создании SSL-сертификатов Let’s Encrypt для Apache.
Этого должно хватить!
Заключение:
Подводя итог, можно сказать, что установка Supabase в Ubuntu с помощью Docker предоставляет разработчикам надежное серверное решение, которое упрощает разработку и тестирование приложений. Вот основные выводы:
- Альтернатива с открытым исходным кодом: Supabase является мощной альтернативой Firebase с открытым исходным кодом, предлагающей аналогичные функции.
- Простота настройки: использование Docker упрощает процесс установки и позволяет легко управлять средой Supabase.
- Интеграция с PostgreSQL: использование PostgreSQL расширяет возможности управления данными, обеспечивая их целостность и возможность сложных запросов.
- Локальная разработка: локальная работа с Supabase обеспечивает безопасное тестирование и разработку, сводя к минимуму зависимость от внешних сервисов.
- Меры безопасности: установка пароля и аутентификация, а также внедрение SSL/TLS с помощью Let’s Encrypt обеспечивают безопасную среду.
- Масштабируемость и гибкость: архитектура позволяет легко масштабировать проекты по мере их роста, адаптируясь к растущим требованиям.
Следуя описанным шагам, разработчики могут уверенно использовать потенциал Supabase для эффективной разработки и развертывания приложений.
Ссылки: