Supported runtimes
Node.js, Bun, Python, Go, Rust, Ruby, PHP, Java, .NET, Elixir, and static sites. Percher uses Nixpacks for automatic detection and builds.
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 init # generate percher.toml
bunx percher push # build and deploy
bunx percher logs # view runtime logs
bunx percher env set K=V # set environment variable
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_whoami, 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 as an environment variable. PocketBase provides auth, REST API, file storage, and realtime subscriptions out of the box.