
Deploy Hoppscotch Desktop
Connect the Hoppscotch desktop app to your instance
Hoppscotch
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host self hosted Hoppscotch Desktop (Open-Source API Client) on Railway
This template runs a self-hosted Hoppscotch instance on Railway with Postgres, built to pair with the native Hoppscotch Desktop app.
About Hosting Hoppscotch Desktop open-source software on Railway (self hosted Hoppscotch desktop template)
Your collections, environments and team workspaces live in your own Postgres database, not on a vendor cloud.
Why Deploy Hoppscotch Desktop, the Postman alternative on Railway (Railway Free Trial)
Postman is closed SaaS: you rent seats so collections can live in someone else's cloud. Railway's $5 trial covers the first deploy.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Hoppscotch Desktop on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for Hoppscotch Desktop self hosting
The gap is how much setup you still own after the domain resolves.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | Template deploy, Hoppscotch and Postgres ready, one redeploy after editing WHITELISTED_ORIGINS | A Droplet plus managed Postgres, then Docker, Caddy and TLS by hand |
| AWS | Same two services, private Postgres, HTTPS domain so origins are predictable | ECS or EC2 with RDS, load balancer rules and certificates to design |
| Hetzner | App and database in one project, restart policy ALWAYS already set | Cheap compute, but you install Docker, Postgres, backups and a proxy |
Same MIT image either way, so your desktop origins don't change.
Common Use Cases for hosted Hoppscotch Desktop
- Testing localhost APIs against shared team collections: run requests against a dev server on your own machine while pulling the collection from your Railway instance, something the browser app needs the extension for.
- Windows and Mac teammates on one workspace: everyone connects to the same self-hosted URL and sees the same environments, shared requests and roles, no matter which installer they used.
- Calling private APIs without extensions: the native client talks to internal hosts, VPN addresses and staging endpoints directly, so nobody installs a browser extension or routes traffic through a public proxy.
- A native client instead of a browser tab: keep long-running WebSocket, SSE and MQTT sessions open in their own window without losing them to a closed tab or a page reload.
- Keeping collections off a vendor cloud: requests, tokens and environment secrets stay in your Postgres database rather than syncing to someone else's service.
Dependencies for Hoppscotch Desktop Docker hosted on Railway
This template ships two services. Postgres 18.6 keeps a volume at /var/lib/postgresql/data and stays private. The Hoppscotch container is stateless.
Deployment Dependencies for Managed Hoppscotch Desktop Service (API Development)
- DATABASE_URL comes from Postgres. DATA_ENCRYPTION_KEY is 32 characters and encrypts secrets, so never change it after first boot.
- WEBAPP_SERVER_SIGNING_SECRET is 48 characters and signs the desktop bundle.
- WHITELISTED_ORIGINS already holds the https Railway domain plus app://localhost_3200 and app://hoppscotch. Append your per-domain desktop origins.
- VITE URLs are injected at container start, so changing one needs a redeploy, not a rebuild.
Implementation Details for Hoppscotch Desktop (Using Hoppscotch official docker image)
The start command runs prisma migrate deploy, so first deploy and upgrades migrate for you. The public domain targets port 80.
How does Hoppscotch Desktop compare against other desktop API clients
All four below send requests natively, so localhost and private APIs work without a browser extension. The real split is where your collections live.
Hoppscotch vs Postman (Postman Alternative)
- Where collections live: in the Postgres behind your Railway domain, not in Postman's cloud workspace.
- Two clients, one account: the same login works in the browser app and in Hoppscotch Desktop, so nobody has to export between them.
- Licensing: Community Edition is MIT and self hosted, while Postman is closed source with commercial tiers.
- Where Postman wins: deeper test automation, generated API docs and a much larger integration catalog.
Hoppscotch vs Insomnia (Insomnia Alternative)
- Sync target: Insomnia syncs to Kong's cloud; here the desktop app syncs to your own instance.
- Origin control: you own WHITELISTED_ORIGINS, so adding a Mac or Windows machine is a variable edit plus a redeploy.
- Where Insomnia wins: a longer track record in enterprise setups and a plugin ecosystem Hoppscotch does not match.
Hoppscotch vs Bruno (Bruno Alternative)
- Storage model: Bruno keeps collections as plain files in your repo and needs no server; Hoppscotch keeps them in Postgres behind a login.
- Team access: roles and shared workspaces ship with the server, while Bruno leans on git discipline.
- Where Bruno wins: offline-only work, diffable collections in code review and zero infrastructure to run.
Hoppscotch vs Yaak (Yaak Alternative)
- Scope: Yaak is a focused desktop client; Hoppscotch Desktop is a client for an instance that also serves the web app, /admin and the CLI.
- Migration: Hoppscotch imports Postman, Insomnia and OpenAPI collections, so switching is a file import plus a sign-in.
- Where Yaak wins: a lighter footprint with no Postgres, container or domain to maintain.
How to use Hoppscotch Desktop (the OSS open-source API client)?
- Open https://your-domain/admin, pick a login method (OAuth or SMTP magic link, no passwords), save and sign in first to become admin.
- Compute your desktop origins. For hoppscotch-production-abcd.up.railway.app: app://hoppscotch_production_abcd_up_railway_app and http://app.hoppscotch_production_abcd_up_railway_app.
- Append both to WHITELISTED_ORIGINS on the Hoppscotch service, then redeploy.
WHITELISTED_ORIGINS=$WHITELISTED_ORIGINS,app://hoppscotch_production_abcd_up_railway_app,http://app.hoppscotch_production_abcd_up_railway_app
- Install Hoppscotch Desktop for your platform, click the logo, Add an instance, enter https://your-domain, Connect, then sign in.
How to self host Hoppscotch Desktop on other VPS Services (Hoppscotch self hosting guide)
Clone the Repository
Clone upstream and enter the directory.
git clone https://github.com/hoppscotch/hoppscotch
cd hoppscotch
Install Dependencies
Docker plus a reachable Postgres database. Node and pnpm only matter if you build images yourself.
Configure Environment Variables
Copy the example file and set DATABASE_URL, a 32-character DATA_ENCRYPTION_KEY, WEBAPP_SERVER_SIGNING_SECRET, ENABLE_SUBPATH_BASED_ACCESS=true and the VITE URLs pointed at your https address.
cp .env.example .env
Start the Hoppscotch Desktop Application
Run the AIO image, then migrate by hand inside the container. Put HTTPS in front, add the desktop origins to WHITELISTED_ORIGINS and restart.
docker run -d --name hoppscotch --env-file .env -p 80:80 hoppscotch/hoppscotch:2026.9.0
docker exec -it hoppscotch pnpx prisma migrate deploy
Railway handles the migration, the TLS domain and the restart-on-exit cycle the backend needs after each settings save.
Official Pricing of Hoppscotch Desktop (Hoppscotch pricing)
Hoppscotch Community Edition is free under MIT, so self hosting on Railway costs infrastructure only, roughly $5-10/mo at light use.
Hoppscotch Desktop cloud vs self hosted comparison (Pricing, features, costs, and more)
Cloud gets you someone else's uptime and someone else's data location.
Monthly cost of self hosting Hoppscotch Desktop on Railway
Expect roughly $5-10 per month at light use, covering both the Hoppscotch container and the Postgres service. Railway's $5 trial covers the first stretch.
System Requirements for Hosting Hoppscotch Desktop on a VPS
1 vCPU and 1-2 GB RAM handles a small team comfortably. Add a volume for Postgres data, or you'll lose collections on restart.
Frequently Asked Questions (FAQs)
Why does the desktop app show an origin error?
The self-hosted server only accepts instance origins listed in WHITELISTED_ORIGINS, and desktop app origins look nothing like a normal https URL, so they are missing by default. Add yours and redeploy.
Which origin is for Windows?
Windows uses http://app. plus the domain with dots and dashes turned into underscores, so hoppscotch.my-domain.com becomes http://app.hoppscotch_my_domain_com. macOS and Linux use app:// with the same transformed host.
Do I need the browser extension?
No. The desktop app sends requests natively, so it skips browser CORS rules and reaches localhost and private APIs directly. The extension and the proxy only matter for the web client.
Which desktop version should I install?
Match the server release (this template runs 2026.9.0); desktop versions drop the leading 20, so 26.6.0 pairs with 2026.6.0. Grab the Apple Silicon or Intel Mac build, the Windows installer, the Debian package or the AppImage from the official downloads page.
What does the signing secret do?
WEBAPP_SERVER_SIGNING_SECRET signs the desktop bundle the instance serves, which is how the app verifies it is talking to your server. It is generated at 48 characters; leave it alone.
Can I use a custom domain?
Yes. Add the domain to the Hoppscotch service on port 80, then add its app:// and http://app. origins to WHITELISTED_ORIGINS and update the OAuth callback URLs to match.
Template Content
