New Deploy from Claude, Cursor and any MCP client

Deploy anything.
Skip the infrastructure.

Push to GitHub and qhost builds it, ships it with zero downtime and wires it up: managed databases, private networking, HTTPS domains, logs and metrics. All on one visual canvas.

Plans from $5/month•Usage credit included•Cancel anytime

acme/storefront/production
data
web
shop.acme.com
Online · 2 replicas
nightly-sync
cron · 0 3 * * *
Last run 4h ago · 41s
api
api.internal:8080 · go
Deploying · a3f9c2e
Postgres
pg-data · 3.2 GB
Online · backups daily
Redis
redis-data · 180 MB
Online
Apply 1 change⇧ ↵Deploy

Bring any language, framework or Dockerfile. We detect it and build it.

How it works

From git push to production
in about a minute.

No YAML, no clusters, no servers to patch. Connect a repo and every push becomes a deploy, with the old version serving traffic until the new one is healthy.

1

Connect a repository

Sign in with GitHub, pick a repo and branch. Pushes trigger deploys, watch paths keep monorepos quiet, and you can wait for CI to pass first.

2

We build it

Your Dockerfile, Nixpacks or automatic detection for Node, Bun, Go, Python, Rust, Ruby, Java, Deno, PHP and static sites. Config as code is optional.

3

Ship without downtime

New replicas only get traffic after the healthcheck passes; old ones are drained before they stop. Roll back to any previous deploy in one click.

Build logs · apimain@a3f9c2e

Platform

Everything your app needs.
Nothing you have to babysit.

The parts you'd otherwise glue together from five vendors, built into one platform and priced by what you actually use.

Logs you can actually search

Persistent logs across every service and replica, with filters like @level:error and @service:api. Plus HTTP logs for every request.

@service:api @level:error "timeout"
14:02:11ERRORupstream timeout after 30s · POST /v1/checkout
14:02:09WARNretrying payment provider (attempt 2/3)
14:01:58INFOGET /v1/products 200 · 18ms
14:01:57INFOGET /v1/cart 200 · 9ms

Domains & HTTPS

A generated domain for every service, or bring your own. Certificates are issued and renewed for you.

api-x7k2.qhost.devActive
shop.acme.comActive
status.acme.comIssuing

Metrics built in

CPU, memory and network per replica, and p50/p95/p99 latency for every service, with alerts to Slack, Discord or any webhook.

CPU
0.42 vCPU
Memory
312 MB
p95
84 ms

Environments & PR previews

Production, staging and a fresh environment for every pull request, each with its own variables, data and private network.

production5 services · live
stagingforked 3 days ago
pr-482 feat: new checkoutauto · closes with PR

Private networking

Services talk over a private network per environment at <service>.dockway.internal. No public ports unless you ask for one.

  • References like ${{Postgres.DATABASE_URL}}
  • Shared variables across services
  • Public TCP proxy when you need it

Cron, workers & functions

Run scheduled jobs, background workers, or TypeScript functions on Bun, edited right in the dashboard.

0 3 * * *nightly-sync
*/15 * * * *refresh-cache

Feature flags

Typed flags with targeting rules your services read at runtime. Roll out to a percentage, a plan or a team.

new_checkout
bucket(user.id) < 0.25

600+ one-click templates

Deploy n8n, Supabase, Ghost, Metabase, Plausible, Uptime Kuma, LLM tools and framework starters with their databases and variables already wired. Publish your own from any project.

  • AI & LLM tools
  • Automation
  • CMS & blogs
  • Monitoring
  • Analytics
  • Framework starters

Built for teams

Workspaces with admin, member and viewer roles, invite links, per-project access, an activity log and a web shell into any container.

  • Undo / redo on the canvas
  • Replicas & resource limits
  • Sleep idle apps
  • Pre-deploy commands
  • Account & project tokens
  • Full-featured CLI

Databases

Production databases
in one click.

Provision a database next to your app, connected over the private network with credentials already in your variables.

PostgreSQL

Versions 15 to 18, with the extensions people actually use.

pgvectorPostGISTimescaleDB

MySQL

Familiar, fast and ready for your Laravel, Rails or WordPress app.

InnoDButf8mb4

Redis

Caches, queues, sessions and rate limits with persistent storage.

queuescache

MongoDB

Document storage with a built-in browser for your collections.

documentsindexes

Scheduled backups

Automatic backups on your schedule, and restore with a click.

Data editor

Browse and edit rows, tables, keys and documents in the dashboard.

Query console

Run SQL and commands without installing a client.

S3 buckets

Object storage with its own credentials per service.


AI agents

Let your AI assistant
run the deploy.

qhost ships with an MCP server. Connect Claude Code, Claude Desktop, Cursor or any MCP client and it can create projects, set variables, deploy, read logs and fix what broke.

  • Full platform access. Services, variables, domains, volumes, deploys, logs, metrics and database queries.
  • Scoped tokens. Give an agent a project token instead of your account.
  • Data imports. Pull databases, S3 buckets and volumes in from other platforms.
# Create a token in Account → Tokens, then:
claude mcp add --transport http qhost \
  https://app.qhost.dev/api/mcp \
  --header "Authorization: Bearer $QHOST_TOKEN"
Deploy my repo with a Postgres database and give me the URL
create_service · create_service · set_variables · deploy_service
Done. web is live at web-k29d.qhost.dev and reads DATABASE_URL from the new Postgres over the private network. Build took 48s.

Migrate

Coming from Railway?
Your config already works.

qhost speaks the same concepts, so most projects move without code changes. Point your AI assistant at both platforms and it moves services, variables and data for you.

Config filerailway.toml
References${{Postgres.DATABASE_URL}}
Private hostapi.railway.internal
Injected varsRAILWAY_*
Config fileread as-is ✓
Referencesresolved ✓
Private hoststill resolves ✓
Injected varsinjected ✓

Security

Isolated by default.

Every workload runs in its own container with hard limits, on a network nobody else can reach.

Network isolation

Each environment gets its own private network. Services can't reach other projects, only the edge that routes to them.

Resource limits

CPU, memory and process limits on every container, so a noisy neighbor can't take you down.

Hardened containers

No privilege escalation and dropped Linux capabilities for every workload.

Encrypted secrets

Variables and tokens are encrypted at rest. Generated credentials are locked so they can't be changed by accident.

2FA & passkeys

TOTP two-factor and passkeys for your account, with GitHub or email sign-in.

TLS everywhere

HTTPS on every domain, with certificates issued and renewed automatically.


Pricing

Simple plans.
Pay for what you run.

Your plan price comes back as usage credit every month. Most small apps never pay more than the plan.

Hobby

For side projects and small apps.

$5/ month
Includes $5 of usage
  • 10 projects, 30 services
  • Up to 2 vCPU / 2 GB per replica
  • Up to 3 replicas per service
  • 4 vCPU / 8 GB across the workspace
  • Databases, domains, cron & templates
Start 14-day trial

Usage pricing

Billed by the minute for what your services actually use. Anything past your included credit is added to the next invoice.

vCPU
$20
per vCPU / month
Memory
$10
per GB / month
Egress
$0.05
per GB
Volumes
$0.15
per GB / month
Compute
Egress & storage
Usage total
Estimated bill

Prices in USD. 14-day free trial on your first workspace; a card is required to start it. Estimates assume steady average usage over a 30-day month.


FAQ

Questions, answered.

How does the free trial work?

Pick Hobby or Pro and add a card. You get 14 days with that plan's limits at no charge. If you cancel before the trial ends, you aren't billed. One trial per card.

Why do you ask for a card up front?

qhost runs real code on real hardware. Requiring a card keeps out abuse like crypto miners and spam, which keeps the platform fast and cheap for everyone else.

What happens if I use more than my plan includes?

Usage beyond your included credit is added to your next renewal invoice at the rates above. You can watch usage and an estimated cost live on the Usage page, and set resource limits per service.

What if a payment fails or I cancel?

Your services are paused and your domains show a "paused" page. Your data is kept for 30 days, so you can resubscribe and pick up where you left off. After that, the projects are deleted.

What can I deploy?

Anything that runs in a container: web apps, APIs, workers, cron jobs and bots in Node, Bun, Go, Python, Rust, Ruby, Java, Deno, PHP or a Dockerfile, plus public Docker images, static sites and TypeScript functions.

Can I use my own domain?

Yes. Add a domain to any service, point a CNAME at us, and we issue the certificate. Every service also gets a free *.qhost.dev domain.

How do I move from Railway?

Connect the qhost MCP server and Railway's MCP to your AI assistant and ask it to migrate. It recreates services and variables here and copies databases, buckets and volumes directly. railway.toml, ${{...}} references and *.railway.internal hostnames keep working.

Your next deploy
is one push away.

Start a 14-day trial, connect a repo and watch it go live.