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
Bring any language, framework or Dockerfile. We detect it and build it.
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.
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.
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.
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.
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.
Domains & HTTPS
A generated domain for every service, or bring your own. Certificates are issued and renewed for you.
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.
Environments & PR previews
Production, staging and a fresh environment for every pull request, each with its own variables, data and private network.
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.
Feature flags
Typed flags with targeting rules your services read at runtime. Roll out to a percentage, a plan or a team.
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
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.
MySQL
Familiar, fast and ready for your Laravel, Rails or WordPress app.
Redis
Caches, queues, sessions and rate limits with persistent storage.
MongoDB
Document storage with a built-in browser for your collections.
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.
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"
// ~/.cursor/mcp.json { "mcpServers": { "qhost": { "url": "https://app.qhost.dev/api/mcp", "headers": { "Authorization": "Bearer …" } } } }
web is live at web-k29d.qhost.dev and reads DATABASE_URL from the new Postgres over the private network. Build took 48s.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.
Your Railway project
railway.toml${{Postgres.DATABASE_URL}}api.railway.internalRAILWAY_*On qhost
read as-is ✓resolved ✓still resolves ✓injected ✓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.
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.
- 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
Pro
For production apps and teams.
- 50 projects, 200 services
- Up to 8 vCPU / 16 GB per replica
- Up to 10 replicas per service
- 32 vCPU / 64 GB across the workspace
- Everything in Hobby, built for teams
Usage pricing
Billed by the minute for what your services actually use. Anything past your included credit is added to the next invoice.
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.
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.