Transcription
В этом видео был вопрос, можем ли мы также использовать self-hosted Superbase для нашего приложения, которое мы создали с помощью B.D. Посмотрите это видео, если вы не знаете, о чем я говорю, но я хочу кратко показать вам, как установить self-hosted Superbase, чтобы вы могли протестировать свои вещи локально. Я открыл здесь список задач Advance, который связан в описании, затем вы можете перейти сюда к установке self-hosted Superbase, открыть ее, и вы увидите полный список задач, через которые мы проходим. Требования: установлен Git и Docker. Если вы не знаете, как это сделать, посмотрите связанное видео в правом верхнем углу, и тогда мы можем перейти к следующим шагам.
Первый шаг — клонировать репозиторий Git. Для этого скопируйте команду здесь с помощью кнопки копирования. Перейдите в папку, куда вы хотите его клонировать. У меня здесь есть папка YouTube. Затем вы можете просто ввести CMD здесь в командной строке, чтобы открыть терминал непосредственно в этой папке, что довольно удобно. И тогда мы можем просто щелкнуть правой кнопкой мыши, чтобы вставить эту команду. Сейчас он клонирует репозиторий, и теперь, когда это сделано, мы можем проверить это в списке задач. Затем нам нужно перейти в клонированный каталог и непосредственно в эту папку, в папку Docker, где находятся файлы для Docker. Так что мы можем просто перечислить их с помощью `ls`, и вы увидите здесь файл `docker-compose.yml`, и именно это нам нужно для запуска.
Хорошо, мы отмечаем это в списке задач, и прежде чем мы сможем запустить Docker, нам нужно скопировать файл `.env`, где находятся все настройки для, да, все конфигурации для Superbase. Так что просто скопируйте пример файла в `.env`. Эта команда неверна, я просто… для Windows, так что это должно быть `copy` для Windows. На Linux это `cp`. Я отредактирую это перед запуском этого видео. И как только этот файл будет создан или скопирован, мы можем перейти непосредственно к нашей папке `superbase-docker`, и тогда мы увидим здесь наш пример или наш пример файла `.env.example`. Так что да, вы также можете сделать это здесь и напрямую скопировать и вставить с помощью Ctrl+C и Ctrl+V, не имеет значения.
Затем мы открываем его с помощью редактора, и я поместил его здесь в полноэкранный режим, и тогда вы можете увидеть здесь все конфигурации для нашего локального self-hosted Superbase. Так что здесь пароль для PostgreSQL, например, здесь ключ `anon`, который вам понадобится для вашего приложения, здесь ключ `service_role`, и так далее. Так что все, что вы можете увидеть в облачной версии на панели управления, вам нужно искать здесь, в файле `.env`, потому что для self-hosted версии Superbase нет панели управления, это всегда только один проект. Так что все, что мы сделали, это один проект. Если вам нужен второй проект, вам нужно будет создать второй Docker-стек.
Хорошо, я пока оставлю все по умолчанию, кроме одной вещи, потому что это вызовет проблемы, если вы не настроите свой SMTP-сервер для электронной почты, и это строка 69, подтверждение новых пользователей. Так что, если они регистрируются, они отправят электронное письмо, как мы видели в другом видео, и мы этого не хотим, потому что я не хочу настраивать почтовый сервер для тестирования. Так что давайте просто изменим это на `true`, чтобы нам не нужна была эта конфигурация, это подтверждение, а остальное в порядке. Так что просто одно замечание: это для разработки. Если вы действительно хотите использовать его в продакшене, вам нужно будет изменить здесь все, пароли и так далее, чтобы убедиться, что он безопасен. Так что это просто для, да, это также упомянуто здесь наверху, так что для локального тестирования это совершенно нормально. Так что мы оставляем его так.
Следующий шаг, давайте отметим это как выполненное. Следующий шаг — запустить контейнеры, запустить Superbase. Вернемся в терминал, мы можем очистить его, `cls`, очистить и щелкнуть правой кнопкой мыши, чтобы вставить, и мы запускаем его. Как вы можете видеть, он сейчас запускает все контейнеры, что мы также можем проверить в Docker Desktop через секунду. Как только они будут загружены, мы уже можем увидеть это здесь, я думаю, да, он загружает образы в данный момент, вот они, и как только они все будут готовы, мы можем проверить контейнеры здесь тоже. Так что давайте подождем.
Сейчас все готово, как мы видим на заднем плане, все запущено, все создано, и мы в порядке. Теперь мы можем взглянуть сюда в Docker, здесь теперь Superbase с, позвольте мне сделать его больше, со всеми контейнерами внутри. Все запущено и работает. Если вы хотите проверить журналы, просто нажмите непосредственно на Superbase, и он покажет все журналы всех контейнеров. Вы также можете нажать на отдельный контейнер, чтобы проверить их журналы. И что также интересно здесь, возможно, в какой-то момент, это вкладка «Inspect» (Проверить), а затем здесь `.env`, где вы можете увидеть фактические переменные среды. Так что, если что-то не так, и вы не знаете, правильно ли это, просто зайдите сюда и посмотрите, правильно ли они установлены. Так что для целей отладки.
Теперь, когда все это запущено и работает, мы можем открыть Superbase в браузере, открыть `localhost` порт 8000, и он запросит вход. Так что мы можем найти это в нашем файле `.env`, как и раньше. И если мы зайдем сюда в строки 10 и 11, мы увидим имя пользователя панели управления и пароль панели управления. Так что имя пользователя по умолчанию — `supabase`. Давайте скопируем и вставим его сюда, а пароль — этот супербезопасный пароль здесь. Просто скопируйте его, вставьте его сюда, войдите. Да, мы хотим сохранить его на данный момент. Позвольте мне закрыть это на заднем плане, тогда мы можем быстро проверить это в контрольном списке, и мы можем продолжить.
Так что установка завершена, у нас есть наш Superbase здесь, и да, как вы можете видеть, вы находитесь непосредственно в одном проекте, а не как в Superbase online, где вы можете видеть несколько проектов и управлять ими. Так что у вас также нет вкладки Data API здесь, где вы можете видеть URL вашего проекта и тому подобное. Так что все это находится в файле `.env`, так что вам нужно получить это отсюда. И, как вы можете видеть, у нас здесь пустая база данных. И давайте сделаем быстрый пример, изменим нашу базу данных для многозадачного списка, который мы реализовали в прошлом видео. Так что давайте пойдем. У меня есть это здесь. Это проект, который мы построили с помощью b. DIY. Если вы смотрели, вы знаете, что есть файл `statements.sql`, откуда мы можем скопировать SQL-запрос для создания таблиц.
Так что давайте скопируем и вставим это сюда в редактор SQL, запустим его здесь вверху, внизу слева, справа. Все успешно. Давайте проверим таблицы. Да, таблицы есть. А затем мы возвращаемся, открываем CMD здесь, давайте установим зависимости с помощью `npm install`. Все в порядке. Запускаем проект. Хорошо, приложение для управления задачами работает, но мы получаем ошибку, потому что мы еще не настроили новый Superbase. Так что нам нужно сделать, это в нашем многопользовательском менеджере задач у нас также есть файл `.env`, как вы, возможно, знаете из прошлого видео, и нам нужно настроить URL Superbase и ключ `anon`. Так что мы можем получить это из файла `.env` из Superbase. Так что ключ `anon` здесь в строке 8. Скопируйте его сюда, а URL — это просто то же самое, что мы получили в браузере, это `localhost:8000`, если вы ничего не меняли, но это по умолчанию.
И давайте проверим терминал. Как вы можете видеть, он распознал изменения `.env`, так что он автоматически перезапустил сервер. И теперь, как вы можете видеть, он уже перезагрузил страницу, и у нас есть работающее приложение. Давайте быстро вернемся сюда в Superbase, аутентификация. Как вы можете видеть, здесь нет пользователей. Так что мы можем протестировать, работает ли регистрация. Мы сейчас на странице регистрации. Давайте сделаем, например, `test@test.de`, пароль `testtest`. Зарегистрироваться. И, как вы можете видеть, это сработало. Мы мгновенно вошли в систему, и если мы вернемся к пользователям здесь, нажмем обновить, наш пользователь есть, и у нас также есть они здесь в профилях, я думаю, надеюсь. Давайте обновим. Да, он уже здесь.
Давайте проверим, работает ли задача. Тест, тест. Выберите дату. Да. И выберите пользователя. У нас есть только один пользователь, и у нас есть задача здесь. Давайте проверим это также в базе данных. Перейдите к задачам и обновите здесь внизу, и это работает. Да, вот и все. Как вы можете видеть, self-hosted Superbase также работает. Вам нужно знать несколько вещей, например, нет панели управления для управления несколькими проектами, а конфигурация данных — все в файле среды. Но, да, в остальном это просто и вы также можете использовать его.
Хорошо, если вам нужна дополнительная конфигурация, вы также можете ознакомиться с самой документацией Superbase. Я ссылаюсь на нее здесь в списке задач. Так что, если вы столкнулись с чем-то или вам нужна дополнительная информация, ознакомьтесь с этой документацией. И, да, также, возможно, если вам это нужно для установки на VPS, да, тогда вам нужно, как было сказано, изменить другие переменные среды. Хорошо, дайте мне знать, что вы думаете, если вам удалось это сделать, и надеюсь, это поможет. Увидимся в следующем. Пока.