Skip to main content
[ PIER ]

Multi-server PaaS with lightweight agents

Manage a fleet of remote VPS or bare-metal servers from one dashboard. Agents install with one command, heartbeat every few seconds, and let you spread deployments wherever capacity lives.

One-command agent install

`curl -fsSL https://get.pier.dev/agent | sh -s -- --core https://pier.example.com --token …` — Pier registers the server, opens an outbound WebSocket to Core, and reports its first heartbeat in under a second.

Heartbeat + live system metrics

Each agent reports CPU, RAM, disk, network and Docker version on a steady tick. Server location is auto-detected (country / city / country code) so you can see your fleet on a map.

Distribute deployments and replicas

Pin a service to a specific server, let Pier round-robin across the fleet, or use load-balanced replicas to spread one service across multiple agents. Traefik handles routing transparently.

Single binary, no orchestrator

No Kubernetes, no Nomad, no Swarm. Each server runs a tiny Pier agent next to its Docker daemon — the Core does the scheduling and audit logging.

Common questions

How does Pier authenticate agents?

On install, the agent receives a one-time setup token bound to your Pier Core. The token is exchanged for a long-lived API token on first heartbeat; both sides verify each other on every connection.

What happens when an agent goes offline?

The agent_offline alert rule fires after the configured grace period. Replicas on that agent are marked unavailable and Traefik stops routing to them; new deployments are scheduled to healthy agents.

Can I run agents behind NAT?

Yes — agents open an outbound WebSocket to Core, so no inbound port is required on the agent. Only the Core needs a public address.

Related

Ready to deploy?

One command installs Pier on any Ubuntu or Debian VPS.

curl -fsSL https://pier.sh/install | sudo bash