System Requirements
Hoppscotch is designed to run well on both small and large deployments. The minimum requirements to run Hoppscotch are an operating system that supports Docker and 4 CPU cores + 4GB of RAM to generate the build image and as little as 1 CPU core + 2GB of RAM to host the generated output files.Install Node.js, npm, pnpm
Node.js + npm
InstallNode.js
(v18+) and npm
(v9+).
Verify Node.js and npm installation by running the following commands in your terminal:
pnpm
Installpnpm
(v6+).
Verify pnpm installation by running the following command in your terminal:
Docker
InstallDocker
(v20+).
Verify Docker installation by running the following command in your terminal:
docker compose
CLI plugin or activate the Use Docker Compose V2 setting in Docker Desktop. For more information, see the Evolution of Compose.
Git
InstallGit
(v2+).
Verify Git installation by running the following command in your terminal:
Email delivery (optional)
Hoppscotch comes with support for easy integrations with 3rd party SMTP providers. You will need emails so that you can invite your team to use Hoppscotch and for emails to work, you will need to set up proper SMTP configuration as described below. To enable email delivery, you will need to generate a valid SMTP URL in the below format:Custom SMTP configuration
For more advanced needs, such as production-level email delivery or gaining more control over your email configurations, you can set up a custom SMTP server. To enable the custom mailer configuration, in addition to setting theMAILER_USE_CUSTOM_CONFIGS
to true
, you’ll also need the following details in the specified format:
Requirement | Description | Format |
---|---|---|
SMTP Host | Address of your SMTP server | smtp.customdomain.com |
SMTP Port | Communication port used by your SMTP server | 587 for TLS or 465 for SSL |
SMTP User | Username for your SMTP account | user@customdomain.com |
SMTP Password | Corresponding password for your SMTP account | custompass |
Postgres database
Hoppscotch uses a Postgres database to store all the data. You can use any Postgres database provider of your choice - hosted locally or on a cloud provider. Make sure you have a valid Postgres database URL in the below format:OAuth
You also need to configure an OAuth provider to enable third-party authentication. Hoppscotch supports the following OAuth providers:- GitHub
- Microsoft
Choosing OAuth Providers
Hoppscotch allows you to choose which authentication providers to enable for your workspace during the onboarding flow in the admin dashboard. You can easily select from options like Google, GitHub, Microsoft, and Email directly through the setup interface.Configuring third-party providers
To configure the third-party authentication, you will need to generate a valid OAuth client ID and client secret for the OAuth provider of your choice. You will also need to provide a valid callback URL for the OAuth provider. For example, if you are using GitHub as your OAuth provider, you will need to generate a valid OAuth client ID and client secret for GitHub. You will also need to provide a valid callback URL for GitHub. The credentials for the GitHub OAuth provider can be entered during onboarding in the admin dashboard, and will look like the following:CALLBACK_URL
variable is the URL that is invoked after the authorization is done and it follows the pattern http://localhost:3170/v1/auth/[auth_provider_name]/callback
.
The SCOPE
variable defines the scope of the data that the OAuth provider passes on to Hoppscotch.
The links to configure OAuth for various providers are given below:
It is recommended that you secure your deployments by issuing TLS certificates and using HTTPS since we use secure HTTP cookies for authenticating users.
Support for standard HTTP/s
ports
From the December 2023 release onwards containers now support ingress via standard HTTP/S ports on port 80
and 443
by default, moving forward it is recommended users switch to using these ports. We currently do still support the services being exposed from ports 3000
, 3100
and 3170
respectively but support for this will be dropped in the future and all containers will work over standard HTTP/s ports.