Skip to main content
PercherPercher

Say "publish my app"
and it's live.

Percher is a hosting platform built for AI-native development. Your AI assistant builds the app, deploys it, and manages it — you just describe what you want.

How it works

1

Tell your AI what to build

Describe your app in natural language. Your AI assistant (Claude Code, Cursor, Windsurf, or any agent) builds it.

2

The agent deploys it

The agent runs bunx percher push or uses the Percher MCP tools. Percher auto-detects the runtime, builds with Nixpacks, and deploys to a container.

3

Live in under 60 seconds

Your app is live at your-app.percher.run with SSL, health checks, logs, and rollback — managed from the dashboard or by your agent.

Platform

Deployment requirements

  • App must expose an HTTP server (default port: 3000)
  • App must respond with HTTP 200 on the configured health path, usually GET /health
  • A percher.toml config file must be in the project root
  • Standard project structure (package.json, requirements.txt, go.mod, Cargo.toml, etc.)

Supported runtimes

Percher config currently uses node, python, static, or docker. Use Dockerfile-based projects for Go, Rust, PHP, Ruby, Java, .NET, Elixir, and other runtimes.

Configuration — percher.toml

[app]
name = "my-app"          # URL: my-app.percher.run
runtime = "node"         # auto-detected by Nixpacks

[web]
port = 3000              # your app's listen port
health = "/health"       # health check endpoint (must return 200)

[resources]
memory = "512mb"         # container memory limit (optional)
cpu = 0.5                # CPU cores (optional)

[data]
mode = "pocketbase"      # optional: provisions a managed PocketBase database

Deploy commands

bunx percher login        # authenticate (opens browser)
bunx percher create app --template node
bunx percher init         # generate percher.toml
bunx percher push         # build and deploy
bunx percher push --preview
bunx percher logs         # view runtime logs
bunx percher env set K=V  # set environment variable
bunx percher data         # inspect PocketBase data
bunx percher doctor       # health diagnostics
bunx percher domains add myapp.com
bunx percher versions     # list deploy history
bunx percher rollback ID  # roll back to a previous version

MCP integration

AI assistants can deploy and manage apps via MCP (Model Context Protocol). Add the Percher MCP server to your assistant's configuration:

{
  "mcpServers": {
    "percher": {
      "command": "bunx",
      "args": ["percher-mcp"]
    }
  }
}

Available tools: percher_init, percher_push, percher_logs, percher_env_set, percher_env_unset, percher_env_list, percher_versions, percher_rollback, percher_doctor, percher_data, percher_create_from_template, percher_domain_add, percher_domain_verify, percher_domain_list, percher_domain_remove, percher_whoami, and percher_open.

Managed database

Apps that need a database can add [data] mode = "pocketbase" to percher.toml. Percher provisions a PocketBase sidecar automatically and injects POCKETBASE_URL, POCKETBASE_PUBLIC_URL, and VITE_POCKETBASE_URL. PocketBase provides auth, REST API, file storage, and realtime subscriptions out of the box.

Recommended resources by app type

Use these as defaults for [resources] in percher.toml.

App typeRuntimeMemoryCPUDataNotes
Static site / landing pagenode128mb0.25Use serve or http-server. No database needed.
API / webhook handlernode, python, docker256mb0.5Use docker for Go/Rust or other custom runtimes.
Fullstack SSR (Next, Remix, SvelteKit)node512mb0.5Most frameworks work out of the box.
Fullstack app + databasenode, python512mb0.5pocketbasePocketBase provides auth, API, file storage, realtime.
Real-time (WebSocket/SSE)node512mb0.5~1mb per concurrent connection. 1gb for 500+ conns.
Background workernode, python, docker256mb0.5Must still expose GET /health on port 3000.
Python data / ML inferencepython1gb1.0512mb min with numpy/pandas. Port 8000 for FastAPI.
Go / Rust microservicedocker128mb0.25Compiled binaries are very memory-efficient.
PHP (Laravel, Symfony)docker256mb0.5512mb for Laravel with queues. Port 8080.
Monorepo / multi-packagenode512mb0.5Builds from project root. Ensure start script works.

Start building

Create a free account and deploy your first app in under a minute.

Sign up free