Self-Hosting

The whole platform, on your infrastructure

Ploy is open source and the whole platform runs on your own infrastructure: the dashboard, the API, the builder, the runtime, databases, queues, and storage. Start with a single Docker container, or split services for production. The managed cloud runs the same code, so moving between them is not a rewrite.

Self-Host in Minutes

Start the Stack

One compose file brings up every service

terminal
$ git clone https://github.com/meetploy/ploy.git && cd ploy
$ cp .env.example .env
$ docker compose up -d
 ✔ Container ploy-postgres   Healthy
 ✔ Container ploy-api        Started
 ✔ Container ploy-builder    Started
 ✔ Container ploy-handler    Started
 ✔ Container ploy-ui         Started

Services

The same components that run the managed cloud

ServiceRolePortStatus
uiDashboard3002
Healthy
apiControl plane4002
Healthy
handlerServes deployments4001
Healthy
builderBuilds pushes—
Healthy
workerBackground jobs—
Healthy
postgresPlatform database5432
Healthy

Key Features

One Container to Start

A unified Docker image runs every service for testing and small deployments.

Split for Production

Run the API, builder, handler, and workers as separate services with Docker Compose.

Your Data Stays Yours

Code, environment variables, databases, and logs never leave infrastructure you control.

AGPLv3, Free Forever

No licence fee, no usage limits, and the same features as the managed cloud.

Quick Start

Clone the repository, set your environment, and start the stack.

terminal
git clone https://github.com/meetploy/ploy.git
cd ploy
cp .env.example .env
docker compose up -d

# Dashboard: http://localhost:3002

Ready to get started?

Deploy your first project in minutes with Ploy.