HS recommends a minimum of 4 cores / 4GB memory.
Node.js v18+ and npm v9+ are what's listed - I'm using v20 / v9
curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
chmod 760 nodesource_setup.sh
Install nodejs
apt install nodejs
Verify versions
node -v
npm -v
Install v6+
curl -fsSL https://get.pnpm.io/install.sh | sh -
Use this guide to install Docker v20+
v2+
apt install git
Have an SMTP URL prepared for later - built it using the following format.
smtps://user@domain.com:pass@smtp.domain.com
Install PSQL
apt install postgresql-15 postgresql-server-dev-15
Login to PSQL and create a DB for HS
sudo -u postgres psql
CREATE USER hoppscotch WITH PASSWORD '<secure-password>';
CREATE DATABASE hoppscotch OWNER hoppscotch;
GRANT ALL PRIVILEGES ON DATABASE hoppscotch TO hoppscotch;
Have an PSQL URL prepared for later
postgresql://hoppscotch:<secure-password>@127.0.0.1:5432/hoppscotch
Clone Hoppscotch
git clone https://github.com/hoppscotch/hoppscotch.git /opt/hoppscotch
Move into the installation directory
cd /opt/hoppscotch/
Copy the example config
cp .env.example .env
Open the new .env file, modify the config to reflect your environment.
I modified the following parameters
DATABASE_URL=
JWT_SECRET=
SESSION_SECRET=
MAILER_SMTP_URL=
MAILER_ADDRESS_FROM=
Install dependencies
pnmp install
Run migrations on the database
cd packages/hoppscotch-backend
pnpm exec prisma migrate deploy
I had to copy the .env file from the installation root to the current dir for this run.
cp ../../.env .
Return to the project root.
Build the docker image
docker compose build