Самостоятельное размещение Hoppscotch дает вам полный контроль над процессом разработки API и позволяет запускать Hoppscotch на собственных серверах, обеспечивая больший контроль над данными и безопасностью.
В данном руководстве рассматриваются основы самостоятельного хостинга Hoppscotch, включая необходимые конфигурации и настройки, которые понадобятся для начала работы. Вы можете установить и запустить Hoppscotch на любой операционной системе, способной работать с Docker Engine, но для создания докер-образов вам потребуется машина с 4 процессорными ядрами и не менее 16 ГБ оперативной памяти. Однако для размещения сгенерированных выходных файлов можно использовать машину с 1 процессорным ядром и 2 ГБ оперативной памяти.
Прежде чем приступить к настройке, мы рады сообщить, что работаем над корпоративной версией Hoppscotch. Заполните форму здесь, чтобы первыми узнать о ее запуске!
Необходимые условия
Для того чтобы начать самостоятельную работу с Hoppscotch, убедитесь, что у вас есть следующие необходимые условия:
- node.js & npm
- pnpm
- docker
- git
Посетите наш раздел документация для получения подробного руководства по установке необходимого программного обеспечения.
Клонирование репозитория
Теперь, когда у вас есть все необходимые инструменты для начала установки, давайте начнем с клонирования репозитория Hoppscotch на GitHub. Вы можете клонировать репозиторий локально с помощью git, выполнив в терминале следующую команду:
git clone https://github.com/hoppscotch/hoppscotch.git
Вход в полноэкранный режим Выход из полноэкранного режима
В качестве альтернативы можно использовать GitHub CLI для клонирования репозитория:
gh repo clone hoppscotch/hoppscotch
Вход в полноэкранный режим Выход из полноэкранного режима
Настройка переменных окружения
Перед сборкой образа Docker и локальным использованием Hoppscotch необходимо настроить несколько переменных окружения. Создайте новый файл в корневом каталоге репозитория с именем .env
и вставьте в него следующие конфигурации:
#-----------------------Backend Config------------------------------#
# Prisma Config
DATABASE_URL=postgresql://postgres:testpass@hoppscotch-db:5432/hoppscotch # или заменить на URL вашей базы данных
# Auth Tokens Config
JWT_SECRET="secretcode123"
TOKEN_SALT_COMPLEXITY=10
MAGIC_LINK_TOKEN_VALIDITY= 3
REFRESH_TOKEN_VALIDITY="604800000" # Срок действия по умолчанию составляет 7 дней (604800000 мс) в мс
ACCESS_TOKEN_VALIDITY="86400000" # Срок действия по умолчанию 1 день (86400000 мс) в мс
SESSION_SECRET='anothersecretcode123'
# Конфигурация домена приложения Hoppscotch
REDIRECT_URL="http://localhost:3000"
WHITELISTED_ORIGINS = "http://localhost:3170,http://localhost:3000,http://localhost:3100"
# Конфигурация Google Auth
GOOGLE_CLIENT_ID="*****"
GOOGLE_CLIENT_SECRET="*****"
GOOGLE_CALLBACK_URL="http://localhost:3170/v1/auth/google/callback"
GOOGLE_SCOPE="email,profile"
# Конфигурация Github Auth
GITHUB_CLIENT_ID="*****"
GITHUB_CLIENT_SECRET="*****"
GITHUB_CALLBACK_URL="http://localhost:3170/v1/auth/github/callback"
GITHUB_SCOPE="user:email"
# Конфигурация Microsoft Auth
MICROSOFT_CLIENT_ID="*****"
MICROSOFT_CLIENT_SECRET="*****"
MICROSOFT_CALLBACK_URL="http://localhost:3170/v1/auth/microsoft/callback"
MICROSOFT_SCOPE="user.read"
# Конфигурация почтового сервера
MAILER_SMTP_URL="smtps://[email protected]:[email protected]"
MAILER_ADDRESS_FROM=''From Name Here'' <[email protected]>'
# Конфигурация ограничения скорости
RATE_LIMIT_TTL=60 # В секундах
RATE_LIMIT_MAX=100 # Максимальное количество запросов с одного IP
#-----------------------Frontend Config------------------------------#
# Базовые URL
VITE_BASE_URL=http://localhost:3000
VITE_SHORTCODE_BASE_URL=http://localhost:3000
VITE_ADMIN_URL=http://localhost:3100
# Backend URLs
VITE_BACKEND_GQL_URL=http://localhost:3170/graphql
VITE_BACKEND_WS_URL=wss://localhost:3170/graphql
VITE_BACKEND_API_URL=http://localhost:3170/v1
# Ссылки на условия предоставления услуг и политику конфиденциальности (необязательно)
VITE_APP_TOS_LINK=https://docs.hoppscotch.io/terms
VITE_APP_PRIVACY_POLICY_LINK=https://docs.hoppscotch.io/privacy
Вход в полноэкранный режим Выход из полноэкранного режима
Более подробно о значении каждой переменной можно прочитать в нашей документации. Однако есть три ключевые переменные, которые необходимо настроить для начала построения изображения:
- Конфигурация базы данных
- Конфигурация SMTP
- Конфигурация OAuth
Конфигурация базы данных
По умолчанию Hoppscotch поставляется с Docker-контейнером, в котором предварительно настроена база данных Postgres. Однако если вам необходимо настроить собственную базу данных Postgres в облаке, убедитесь, что у вас есть корректный URL в формате postgresql://username:password@url:5432/dbname
, и замените существующее значение DATABASE_URL
в файле окружения.
Конфигурация SMTP
Для того чтобы предложить своей команде использовать Hoppscotch и включить функции электронной почты, необходимо настроить правильную конфигурацию SMTP, как описано ниже. Замените текущее значение параметра MAILER_SMTP_URL
на правильный SMTP-адрес в формате smtps://[email protected]:[email protected]
.
Вы также можете использовать Mailcatcher в качестве простого SMTP-сервера. Чтобы установить Mailcatcher и запустить сервер, выполните следующую команду:
brew install mailcatcher # установить Mailcatcher
mailcatcher -f
Вход в полноэкранный режим Выход из полноэкранного режима
Вы также можете установить mailcatcher с помощью gem
gem install mailcatcher
Вход в полноэкранный режим Выход из полноэкранного режима
Mailcatcher будет запускаться по адресу smtp://127.0.0.1:1025
. При настройке переменной окружения задайте MAILER_SMTP_URL
как smtp://host.docker.internal:1025
и задайте MAILER_ADDRESS_FROM
как любой из ваших текущих почтовых адресов, например [email protected]
.
Конфигурация OAuth
Вы можете использовать приложение Hoppscotch без входа в систему, но если вам нужно войти в систему или получить доступ к панели администратора, необходимо настроить OAuth-провайдер. В этом документе мы настроим GitHub в качестве OAuth-провайдера. Конфигурации GitHub OAuth содержат следующие переменные:
GITHUB_CLIENT_ID="*****"
GITHUB_CLIENT_SECRET="*****"
GITHUB_CALLBACK_URL="http://localhost:3170/v1/auth/github/callback"
GITHUB_SCOPE="user:email"
Вход в полноэкранный режим Выход из полноэкранного режима
Чтобы настроить GitHub в качестве провайдера OAuth, выполните следующие действия:
- Щелкните на фотографии своего профиля в правом верхнем углу любой страницы, а затем нажмите кнопку Настройки.
- На левой боковой панели прокрутите вниз и выберите Настройки разработчика.
- На левой боковой панели выберите пункт OAuth Apps.
- Нажмите кнопку Новое приложение OAuth.
- Укажите необходимую информацию и URL-адрес обратного вызова, как указано в конфигурации.
- После регистрации приложения скопируйте Client ID и Client Secret и добавьте их в файл окружения.
Установка зависимостей и сборка образа
После настройки необходимых переменных окружения установите необходимые зависимости для Hoppscotch, выполнив следующую команду в корневом каталоге репозитория:
pnpm install
Вход в полноэкранный режим Выход из полноэкранного режима
Далее с помощью Docker выполните сборку образов. Этот процесс может занять некоторое время, поэтому мы рекомендуем использовать для сборки образа систему с объемом оперативной памяти не менее 16 ГБ:
docker compose build
Вход в полноэкранный режим Выход из полноэкранного режима
Запуск миграции
Для того чтобы начать использовать Hoppscotch, необходимо запустить миграции на базе данных Postgres.
Если вы используете базу данных по умолчанию, поставляемую с Hoppscotch, вам необходимо получить идентификатор процесса контейнера и запустить миграции внутри контейнера, выполнив следующие команды.
docker ps # скопировать идентификатор hoppscotch-backend
docker exec -it id bash
pnpm exec prisma migrate deploy
Вход в полноэкранный режим Выход из полноэкранного режима
Однако если вы используете собственную размещенную базу данных, то запустить миграцию можно с помощью следующих команд:
cd packages/hoppscotch-backend
pnpm exec prisma migrate deploy
cd ... # убедитесь, что вы вернулись в корневой каталог
Вход в полноэкранный режим Выход из полноэкранного режима
Запуск игры Hoppscotch
Теперь, когда все настроено и миграции запущены, можно приступить к использованию Hoppscotch, выполнив команду
docker compose up
Вход в полноэкранный режим Выход из полноэкранного режима
Теперь приложение Hoppsoctch будет доступно по адресу http://localhost:3000
.
Вы также можете получить доступ к панели администратора по адресу http://localhost:3100
.
В заключение следует отметить, что самостоятельное размещение тестирования API на хостинге Hoppscotch обеспечивает полный контроль над рабочим процессом разработки API. В данном руководстве рассмотрены основы самостоятельного хостинга Hoppscotch, включая необходимые конфигурации и настройки, которые понадобятся для начала работы. Если вы предпочитаете не размещать Hoppscotch самостоятельно, вы можете ознакомиться с нашим облачным инстансом по адресу hoppscotch.io. Также не забудьте заглянуть в наш GitHub-репозиторий и оставить отзыв!