Here are the key Prefect 3.x docs for scaling a self‑hosted (OSS) server:
-
Scale self-hosted Prefect – End-to-end guide for multi-server deployments (API replicas, background services, Redis, Postgres, LB)
-
Server concepts – Server architecture, components, and how they interact
-
Database maintenance – Postgres sizing, retention, and maintenance (critical at scale)
Deployment options:
-
Self-host with Docker Compose – Reference compose and env config
-
Self-host with Helm (Kubernetes) – Production-ready K8s patterns
Helm resources:
-
Prefect Helm charts repo
-
Server chart values
-
Worker chart values
Workers and execution:
-
Work pools – Configure your execution backends
-
Workers – Scaling workers and concurrency limits
Given you’re on ECS/EC2: a common production pattern is RDS (Postgres) + ElastiCache (Redis), multiple
prefect server start --no-services
API tasks behind an ALB, and a single
prefect server services start
task for background services. If you want, I can share a reference ECS task/service layout and health check config tailored to your setup.