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 и да предоставите обратна връзка!