---
title: "Deploy Hoppscotch"
description: "Open-source API client for REST, GraphQL and WebSocket, with Postgres"
category: "Other"
url: https://railway.com/deploy/hoppscotch-1
---

# Deploy Hoppscotch

Open-source API client for REST, GraphQL and WebSocket, with Postgres

**[Deploy Hoppscotch on Railway](https://railway.com/template/hoppscotch-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/hoppscotch-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Other
- **Total deploys:** 2

## Template content

### Mailpit

- **Image:** axllent/mailpit:v1.33.1@sha256:aef2aacc11f075ec0fb6874275ee4a421e688e11a96ebb296134d1735c7761ce
- **Start command:** `/mailpit --listen [::]:8025 --smtp [::]:1025 --database /data/mailpit.db`
- **Health check:** /livez
- **Public domain:** Yes

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Hoppscotch https://hoppscotch.com/images/logo-primary-light.svg

- **Image:** hoppscotch/hoppscotch:2026.10.1@sha256:09a50aa1831ff1e39dfe73bf672e2bca45e1e73514d656e9be6a91f561071a53
- **Start command:** `sh -c "echo IyBIb3Bwc2NvdGNoIG9uIFJhaWx3YXk6IG1pZ3JhdGUsIHNlZWQgdGhlIGZpcnN0IGJvb3QsIHRoZW4gc3RhcnQgdGhlIGFsbC1pbi1vbmUgaW1hZ2UuCnNldCAtZQpjZCAvZGlzdC9iYWNrZW5kCiMgT25lIFJhaWx3YXkgZG9tYWluIHNlcnZlcyB0aGUgYXBwICgvKSwgdGhlIGFkbWluIGRhc2hib2FyZCAoL2FkbWluKSBhbmQgdGhlIEFQSSAoL2JhY2tlbmQpLgojIENhZGR5IGxpc3RlbnMgb24gOjgwOyB0aGUgYmFja2VuZCBtdXN0IHN0YXkgb24gODA4MCwgd2hlcmUgQ2FkZHkgcHJveGllcyAvYmFja2VuZC4KZXhwb3J0IFBPUlQ9ODA4MCBFTkFCTEVfU1VCUEFUSF9CQVNFRF9BQ0NFU1M9IiR7RU5BQkxFX1NVQlBBVEhfQkFTRURfQUNDRVNTOi10cnVlfSIgVFJVU1RfUFJPWFk9IiR7VFJVU1RfUFJPWFk6LXRydWV9Igpsb2coKSB7IGVjaG8gIltyYWlsd2F5LXN0YXJ0XSAkKiI7IH0KbG9nICJhcHBseWluZyBkYXRhYmFzZSBtaWdyYXRpb25zIgpucHggcHJpc21hIG1pZ3JhdGUgZGVwbG95CiMgRmlyc3QgYm9vdCBvbmx5IChubyB1c2VycyB5ZXQpOiBmaW5pc2ggb25ib2FyZGluZyB3aXRoIGUtbWFpbCBzaWduLWluIHRocm91Z2ggdGhlCiMgYnVuZGxlZCBNYWlscGl0IFNNVFAgc2VydmVyIGFuZCBjcmVhdGUgQURNSU5fRU1BSUwgYXMgdGhlIGFkbWluLCBzbyBub2JvZHkgZWxzZSBjYW4KIyBjbGFpbSBhIGZyZXNoIFVSTCB0aHJvdWdoIHRoZSBvcGVuIG9uYm9hcmRpbmcgZW5kcG9pbnQuIExhdGVyIGJvb3RzIGNoYW5nZSBub3RoaW5nOwojIGVkaXQgbWFpbCBhbmQgc2lnbi1pbiBzZXR0aW5ncyBpbiB0aGUgYWRtaW4gZGFzaGJvYXJkICgvYWRtaW4pLgpub2RlIDw8J0pTJwpjb25zdCB7IENsaWVudCB9ID0gcmVxdWlyZSgicGciKTsKKGFzeW5jICgpID0+IHsKICBjb25zdCBkYiA9IG5ldyBDbGllbnQoeyBjb25uZWN0aW9uU3RyaW5nOiBwcm9jZXNzLmVudi5EQVRBQkFTRV9VUkwgfSk7CiAgYXdhaXQgZGIuY29ubmVjdCgpOwogIGNvbnN0IHVzZXJzID0gKGF3YWl0IGRiLnF1ZXJ5KCdTRUxFQ1QgY291bnQoKik6OmludCBBUyBuIEZST00gIlVzZXIiJykpLnJvd3NbMF0ubjsKICBpZiAodXNlcnMgPiAwKSB7IGNvbnNvbGUubG9nKCJbcmFpbHdheS1zdGFydF0gdXNlcnMgZXhpc3QsIGZpcnN0LWJvb3Qgc2V0dXAgc2tpcHBlZCIpOyByZXR1cm4gZGIuZW5kKCk7IH0KICBjb25zdCBlbWFpbCA9IChwcm9jZXNzLmVudi5BRE1JTl9FTUFJTCB8fCAiIikudHJpbSgpOwogIGlmICghL15bXkBcc10rQFteQFxzXStcLlteQFxzXSskLy50ZXN0KGVtYWlsKSkgeyBjb25zb2xlLmVycm9yKCJbcmFpbHdheS1zdGFydF0gc2V0IEFETUlOX0VNQUlMIHRvIGEgdmFsaWQgZS1tYWlsIGFkZHJlc3MiKTsgcHJvY2Vzcy5leGl0KDEpOyB9CiAgY29uc3QgY2ZnID0gewogICAgVklURV9BTExPV0VEX0FVVEhfUFJPVklERVJTOiAiRU1BSUwiLAogICAgTUFJTEVSX1NNVFBfRU5BQkxFOiAidHJ1ZSIsCiAgICBNQUlMRVJfVVNFX0NVU1RPTV9DT05GSUdTOiAidHJ1ZSIsCiAgICBNQUlMRVJfU01UUF9IT1NUOiBwcm9jZXNzLmVudi5TTVRQX0hPU1QsCiAgICBNQUlMRVJfU01UUF9QT1JUOiBwcm9jZXNzLmVudi5TTVRQX1BPUlQgfHwgIjEwMjUiLAogICAgTUFJTEVSX1NNVFBfU0VDVVJFOiAiZmFsc2UiLAogICAgTUFJTEVSX1NNVFBfSUdOT1JFX1RMUzogInRydWUiLAogICAgTUFJTEVSX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEOiAiZmFsc2UiLAogICAgTUFJTEVSX0FERFJFU1NfRlJPTTogL0BbXkBcczw+XStcLlteQFxzPD5dKz4/JC8udGVzdChwcm9jZXNzLmVudi5NQUlMX0ZST00gfHwgIiIpID8gcHJvY2Vzcy5lbnYuTUFJTF9GUk9NIDogIkhvcHBzY290Y2ggPG5vcmVwbHlAaG9wcHNjb3RjaC5sb2NhbD4iLAogICAgT05CT0FSRElOR19DT01QTEVURUQ6ICJ0cnVlIiwKICB9OwogIGF3YWl0IGRiLnF1ZXJ5KCJCRUdJTiIpOwogIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjZmcpKQogICAgYXdhaXQgZGIucXVlcnkoJ0lOU0VSVCBJTlRPICJJbmZyYUNvbmZpZyIgKGlkLCBuYW1lLCB2YWx1ZSwgImlzRW5jcnlwdGVkIiwgInVwZGF0ZWRPbiIpIFZBTFVFUyAoZ2VuX3JhbmRvbV91dWlkKCk6OnRleHQsICQxLCAkMiwgZmFsc2UsIG5vdygpKSBPTiBDT05GTElDVCAobmFtZSkgRE8gVVBEQVRFIFNFVCB2YWx1ZSA9IEVYQ0xVREVELnZhbHVlLCAiaXNFbmNyeXB0ZWQiID0gZmFsc2UsICJ1cGRhdGVkT24iID0gbm93KCknLCBbbmFtZSwgdmFsdWVdKTsKICBjb25zdCB1aWQgPSAoYXdhaXQgZGIucXVlcnkoJ0lOU0VSVCBJTlRPICJVc2VyIiAodWlkLCBlbWFpbCwgImlzQWRtaW4iKSBWQUxVRVMgKGdlbl9yYW5kb21fdXVpZCgpOjp0ZXh0LCAkMSwgdHJ1ZSkgUkVUVVJOSU5HIHVpZCcsIFtlbWFpbF0pKS5yb3dzWzBdLnVpZDsKICBhd2FpdCBkYi5xdWVyeSgnSU5TRVJUIElOVE8gIkFjY291bnQiIChpZCwgInVzZXJJZCIsIHByb3ZpZGVyLCAicHJvdmlkZXJBY2NvdW50SWQiKSBWQUxVRVMgKGdlbl9yYW5kb21fdXVpZCgpOjp0ZXh0LCAkMSwgJDIsICQzKScsIFt1aWQsICJtYWdpYyIsIGVtYWlsXSk7CiAgYXdhaXQgZGIucXVlcnkoIkNPTU1JVCIpOwogIGNvbnNvbGUubG9nKCJbcmFpbHdheS1zdGFydF0gZmlyc3QgYm9vdDogZS1tYWlsIHNpZ24taW4gdmlhICIgKyBjZmcuTUFJTEVSX1NNVFBfSE9TVCArICIsIGFkbWluICIgKyBlbWFpbCk7CiAgYXdhaXQgZGIuZW5kKCk7Cn0pKCkuY2F0Y2goKGUpID0+IHsgY29uc29sZS5lcnJvcigiW3JhaWx3YXktc3RhcnRdIGZpcnN0LWJvb3Qgc2V0dXAgZmFpbGVkOiIsIGUubWVzc2FnZSk7IHByb2Nlc3MuZXhpdCgxKTsgfSk7CkpTCiMgSG9wcHNjb3RjaCBzdG9wcyBpdHNlbGYgKGV4aXQgMCkgYWZ0ZXIgaXRzIGZpcnN0LWJvb3Qgc2V0dXAgYW5kIGFmdGVyIGV2ZXJ5IHNldHRpbmdzCiMgY2hhbmdlIGluIHRoZSBhZG1pbiBkYXNoYm9hcmQsIGV4cGVjdGluZyB0aGUgY29udGFpbmVyIHRvIGJlIHJlc3RhcnRlZC4gUmVzdGFydCBpdCBoZXJlLgp0cmFwICdraWxsIC1URVJNICIkY2hpbGQiIDI+L2Rldi9udWxsOyBleGl0IDE0MycgVEVSTSBJTlQKd2hpbGUgOjsgZG8KICBsb2cgInN0YXJ0aW5nIEhvcHBzY290Y2giCiAgbm9kZSAvdXNyL3NyYy9hcHAvYWlvX3J1bi5tanMgJiBjaGlsZD0kIQogIGNvZGU9MDsgd2FpdCAiJGNoaWxkIiB8fCBjb2RlPSQ/CiAgcGtpbGwgLXggY2FkZHkgMj4vZGV2L251bGwgfHwgdHJ1ZTsgcGtpbGwgLXggd2ViYXBwLXNlcnZlciAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgWyAiJGNvZGUiIC1lcSAwIF0gfHwgZXhpdCAiJGNvZGUiCiAgbG9nICJIb3Bwc2NvdGNoIHN0b3BwZWQgdG8gbG9hZCBuZXcgc2V0dGluZ3M7IHN0YXJ0aW5nIGl0IGFnYWluIgogIHNsZWVwIDIKZG9uZQo= | base64 -d > /tmp/start.sh && exec sh /tmp/start.sh"`
- **Health check:** /ping
- **Public domain:** Yes

## Documentation

# Deploy and Host Hoppscotch on Railway

Hoppscotch is an open-source API development platform and a lightweight alternative to Postman. You build, send and test REST, GraphQL, WebSocket, SSE, Socket.IO and MQTT requests from the browser. Requests, collections, environments and history are saved, and team workspaces let several people share collections.

## About Hosting Hoppscotch

The self-hosted edition has three parts: the web app, an admin dashboard and a NestJS backend that stores everything in PostgreSQL. Sign-in uses e-mail magic links or OAuth (GitHub, Google, Microsoft). This template runs the official all-in-one image on one Railway domain: the app on `/`, the admin dashboard on `/admin` and the API on `/backend`. The start command applies database migrations, then finishes the first-run onboarding before the app starts: it turns on e-mail sign-in through a bundled Mailpit inbox and makes your `ADMIN_EMAIL` the administrator. A fresh URL can't be claimed by anyone else, and you need no outside mail service to sign in.

## Common Use Cases

* Send and debug REST, GraphQL and WebSocket requests while building an API
* Share collections, environments and saved requests with your team in one workspace
* Run collections as automated API tests from CI with the Hoppscotch CLI

## Dependencies for Hoppscotch Hosting

* PostgreSQL (Railway Postgres) for users, collections, teams and settings
* Mailpit, a small mail catcher that receives the sign-in links until you add a real SMTP server

### Deployment Dependencies

* Hoppscotch release 2026.10.1: https://github.com/hoppscotch/hoppscotch/releases/tag/2026.10.1
* Self-hosting docs: https://docs.hoppscotch.io/documentation/self-host/community-edition/install-and-build
* Official image: https://hub.docker.com/r/hoppscotch/hoppscotch
* Mailpit: https://mailpit.axllent.org/

### Implementation Details

**First sign-in**

1. Enter your e-mail as `ADMIN_EMAIL` when you deploy. It's the only required input.
2. Open the Hoppscotch URL and sign in with that address.
3. Open the Mailpit URL and log in with the `MAILPIT_USERNAME` and `MAILPIT_PASSWORD` shown in the Mailpit service's variables. Click the link in the "Sign in to Hoppscotch" mail.
4. The admin dashboard is at `https:///admin`.

**Who can sign in:** magic links only reach the password-protected Mailpit inbox, so only you can sign in at first. To let your team in, open the admin dashboard's Settings page and set up your own SMTP server or an OAuth provider (GitHub, Google or Microsoft). Once you do, anyone who can sign in that way can create an account. You can then remove the Mailpit service.

**Restarts are normal:** Hoppscotch restarts its backend after the first boot and after every settings change in the admin dashboard. The start script starts it again within a few seconds.

**Custom domain:** if you add one, replace the generated domain in `WHITELISTED_ORIGINS` and the `VITE_*` URL variables of the Hoppscotch service.

**Running collections from CI:** create a personal access token in your profile, then run `npx @hoppscotch/cli test  --token  --server https:///backend`.

## Why Deploy Hoppscotch on Railway?


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 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.




## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/hoppscotch-1
