Scaffold a Deployment Project
One-command starter projects for Fly.io, Railway, Render, Docker Compose
Scaffold a ready-to-edit deployment project — provider config plus agents.yaml — with one command.
Quick Start
- Scaffold a project
Pick a template and drop its files into the current directory.
bash praisonai deploy create --template fly - Edit and deploy
Adjust the generated config, then deploy with the matching command.
bash praisonai deploy fly
How It Works
create copies the named template’s files into your target directory, refusing to clobber existing files unless you pass --force.
Choosing a Template
Match the template to where you want to run.
Templates
Five templates ship today.
--template | Files shipped | Purpose |
|---|---|---|
docker-api | agents.yaml | Bare Docker API scaffold. |
docker-compose | agents.yaml | For the deploy compose stack (API + Postgres). |
fly | fly.toml + agents.yaml | Fly.io — pins the image, internal_port=8005, PRAISONAI_API_AUTH=enabled, HTTP /health check. |
railway | railway.json + agents.yaml | Railway — healthcheckPath: /health, restartPolicyType: ON_FAILURE. |
render | render.yaml + agents.yaml | Render — runtime: image, healthCheckPath: /health, requires OPENAI_API_KEY (sync: false), sets PRAISONAI_API_AUTH=enabled. |
Command Options
| Flag | Default | Description |
|---|---|---|
--template / -t | (required) | Starter template name. |
--dir / -d | . | Target directory (created if missing). |
--force | False | Overwrite conflicting files instead of refusing. |
--json | False | Machine-readable output. |
The starters directory can be overridden with PRAISONAI_STARTERS_ROOT.
Best Practices
Scaffold into an empty directory
Without --force, create refuses to overwrite an existing agents.yaml — protecting hand-edited files. Use a fresh directory, or pass --force when you intend to replace.
Chain create with the deploy command
The fastest path to a running deployment is a one-liner:
praisonai deploy create --template fly && praisonai deploy flyPin the image tag in the generated config
Starters use latest. Swap in a released tag before deploying to production.