Hoppscotch ви предоставя бърза и лесна платформа за проектиране и тестване на вашите API. Едно основно предимство от използването на Hoppscotch е, че можете да започнете да го използвате незабавно от вашия уеб браузър без никакви изтегляния или изисквания за регистрация. Друго допълнително предимство е, че Hoppscotch е самостоятелен!

Самостоятелният хостинг на Hoppscotch ви дава пълен контрол върху вашия работен поток за разработка на API и ще ви позволи да стартирате Hoppscotch на вашите собствени сървъри, което ви дава повече контрол върху вашите данни и сигурност.

Това ръководство обхваща основите на самостоятелното хостване на Hoppscotch, включително необходимите конфигурации и настройки, от които се нуждаете, за да започнете. Можете да инсталирате и стартирате Hoppscotch на всяка операционна система, която може да изпълнява Docker Engine, но ще ви е необходима машина с 4 CPU ядра с поне 16 GB RAM, за да изградите докер изображенията. Можете обаче да използвате машина с 1 процесорно ядро ​​и 2 GB RAM за хостване на генерираните изходни файлове.

Предпоставки

За да започнете със самостоятелното хостване на Hoppscotch, уверете се, че имате следните предпоставки:

1. node.js & npm
2. pnpm
3. докер
4. 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 # or replace with your database URL
# Auth Tokens Config
JWT_SECRET="secretcode123"
TOKEN_SALT_COMPLEXITY=10
MAGIC_LINK_TOKEN_VALIDITY= 3
REFRESH_TOKEN_VALIDITY="604800000" # Default validity is 7 days (604800000 ms) in ms
ACCESS_TOKEN_VALIDITY="86400000" # Default validity is 1 day (86400000 ms) in ms
SESSION_SECRET='anothersecretcode123'
# Hoppscotch App Domain Config
REDIRECT_URL="http://localhost:3000"
WHITELISTED_ORIGINS = "http://localhost:3170,http://localhost:3000,http://localhost:3100"
# Google Auth Config
GOOGLE_CLIENT_ID="*****"
GOOGLE_CLIENT_SECRET="*****"
GOOGLE_CALLBACK_URL="http://localhost:3170/v1/auth/google/callback"
GOOGLE_SCOPE="email,profile"
# Github Auth Config
GITHUB_CLIENT_ID="*****"
GITHUB_CLIENT_SECRET="*****"
GITHUB_CALLBACK_URL="http://localhost:3170/v1/auth/github/callback"
GITHUB_SCOPE="user:email"
# Microsoft Auth Config
MICROSOFT_CLIENT_ID="*****"
MICROSOFT_CLIENT_SECRET="*****"
MICROSOFT_CALLBACK_URL="http://localhost:3170/v1/auth/microsoft/callback"
MICROSOFT_SCOPE="user.read"
# Mailer config
MAILER_SMTP_URL="smtps://[email protected]:[email protected]"
MAILER_ADDRESS_FROM='"From Name Here" <[email protected]>'
# Rate Limit Config
RATE_LIMIT_TTL=60 # In seconds
RATE_LIMIT_MAX=100 # Max requests per IP
# - - - - - - - - - - - -Frontend Config - - - - - - - - - - - - - - - #
# Base URLs
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
# Terms Of Service And Privacy Policy Links (Optional)
VITE_APP_TOS_LINK=https://docs.hoppscotch.io/terms
VITE_APP_PRIVACY_POLICY_LINK=https://docs.hoppscotch.io/privacy

Моля, вижте документацията за повече подробности какво означава всяка променлива. Има обаче три ключови променливи, които трябва да конфигурирате, за да започнете да изграждате изображението:

1. Конфигурация на база данни
2. SMTP конфигурация
3. OAuth конфигурация

Конфигурация на база данни

По подразбиране Hoppscotch се доставя с Docker контейнер, който има предварително конфигурирана Postgres база данни. Ако обаче трябва да конфигурирате своя собствена база данни на Postgres в облака, уверете се, че имате валиден URL във формат postgresql://username:password@url:5432/dbname и заменете съществуващия DATABASE_URL във файла на средата.

SMTP конфигурация

За да поканите вашия екип да използва Hoppscotch и да активирате функцията за имейл, трябва да настроите подходяща SMTP конфигурация, както е описано по-долу. Заменете текущата стойност на MAILER_SMTP_URL с валиден SMTP URL във формат smtps://[email protected]:[email protected].

Можете също да използвате Mailcatcher като обикновен SMTP сървър. За да инсталирате Mailcatcher и да стартирате сървъра, изпълнете следната команда:

brew install mailcatcher # install 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, изпълнете следните стъпки:

1. Щракнете върху снимката на вашия профил в горния десен ъгъл на която и да е страница, след което щракнете върху Настройки.
2. В лявата странична лента превъртете надолу и щракнете върху Настройки на програмиста.
3. В лявата странична лента щракнете върху OAuth приложения.
4. Щракнете върху Ново OAuth приложение.
5. Предоставете необходимата информация и URL адреса за обратно извикване, както е посочено в конфигурацията.
6. След като регистрирате приложението, копирайте ИД на клиента и Client Secret и ги добавете към файла на средата.

Инсталиране на зависимости и изграждане на изображението

След като конфигурирате необходимите променливи на средата, инсталирайте необходимите зависимости за Hoppscotch, като изпълните следната команда в основната директория на хранилището:

pnpm install

След това използвайте Docker, за да създадете изображенията. Този процес може да отнеме известно време и препоръчваме да използвате система с поне 16 GB RAM за изграждане на изображението:

docker compose build

Изпълнение на миграции

За да започнете да използвате Hoppscotch, трябва да стартирате миграции в базата данни на Postgres.

Ако използвате базата данни по подразбиране, която идва с Hoppscotch, трябва да получите идентификатора на процеса на контейнера и да изпълните миграциите в контейнера, като изпълните следните команди.

docker ps # copy the id of hoppscotch-backend
docker exec -it id bash
pnpm exec prisma migrate deploy

Въпреки това, ако използвате собствена хоствана база данни, можете да изпълнявате миграции, като използвате следните команди:

cd packages/hoppscotch-backend
pnpm exec prisma migrate deploy
cd .. # make sure you return back to the root directory

Бягане на скок

Сега, когато всичко е конфигурирано и миграциите са стартирани, можете да започнете да използвате Hoppscotch, като стартирате

docker compose up

Приложението Hoppsoctch вече ще бъде достъпно на http://localhost:3000

Можете също да получите достъп до таблото за управление на администратора на адрес http://localhost:3100.

В заключение, самостоятелното хостване на вашето API тестване с Hoppscotch ви дава пълен контрол върху вашия работен процес за разработка на API. Това ръководство обхваща основите на самостоятелното хостване на Hoppscotch, включително необходимите конфигурации и настройки, от които се нуждаете, за да започнете. Ако предпочитате да не хоствате сами, можете да разгледате облачното копие на hoppscotch.io. Също така, не забравяйте да разгледате нашето хранилище на GitHub и да предоставите обратна връзка!