How to deploy a FastAPI app | Ample
The short version
To deploy a FastAPI app on Ample, run ample deploy . --name <app-name> --public --start "python3 run.py" in the project directory, or ask your coding agent to deploy it to Ample. Ample builds it on the python-3.12 template, starts it with python3 run.py and returns a public HTTPS URL. Python start commands are not inferred, so the command passes --start.
Deploy FastAPI
Ask your coding agent
Install the Ample CLI and create an account (no browser or card needed), then ask Claude Code, Codex, Cursor or any agent with a shell to deploy the project. See Ample for coding agents.
curl -fsSL https://get.ample.computer/install.sh | sh
ample auth signup
# then, in your agent:
# "Deploy this FastAPI app to Ample"
Or deploy from the CLI
Run the deploy once from the project directory. It waits until the app is live or failed and prints the URL; exit 0 is live, 1 failed, 2 needs input.
ample deploy . --name <app-name> --public --start "python3 run.py"
Or use MCP
Agents connected to the Ample MCP server (https://api.ample.computer/mcp, or ample mcp over stdio) call ample_deploy with the same arguments.
Verify
Open the URL. If the deploy failed, read the build log, then the runtime log, fix the cause and deploy again.
ample logs <deployment_id> --kind build
What Ample runs
| Template | python-3.12 |
| Install | python3 -m pip install --target .ample/python -r requirements.txt |
| Start | PYTHONPATH=.ample/python:${PYTHONPATH:-} python3 run.py |
| Tested size | s-1vcpu-1gb |
Start uvicorn from a small run.py that reads PORT; pass --start "python3 run.py" because Python start commands are not inferred. Ample detects the runtime, installs dependencies, runs the build when present and starts the app on the python-3.12 template behind a public HTTPS URL.
Last verification (September 20, 2026): FastAPI app installed with pip into .ample/python and started with uvicorn on python-3.12; / and /health served correctly.
Before you deploy
You need
- A requirements.txt (or pyproject) and a start command that reads PORT and binds 0.0.0.0
- An Ample account token with servers:write
Know the limits
- Verified on the python-3.12 template at s-1vcpu-1gb; other templates and sizes are not verified by this recipe.
- Dependencies install with pip into .ample/python from requirements.txt; pyproject-only projects use uv when available.
Move a FastAPI app to Ample
- How to move a FastAPI app from AWS EC2 to Ample
- How to move a FastAPI app from DigitalOcean Droplet to Ample
- How to move a FastAPI app from Fly.io to Ample
- How to move a FastAPI app from Heroku to Ample
- How to move a FastAPI app from Netlify to Ample
- How to move a FastAPI app from Railway to Ample
- How to move a FastAPI app from Render web service to Ample
- How to move a FastAPI app from Vercel to Ample
Frequently asked questions
Do I need a Dockerfile to deploy FastAPI?
No. Ample detects FastAPI from the repository and builds it from source on the python-3.12 template. Dockerfile build steps are not run.
How do I add a database to a FastAPI app?
Leave DATABASE_URL unset and deploy: when the code needs Postgres, MySQL, Redis or MongoDB, Ample creates a managed database and passes its connection string to the app. See Connect Postgres for FastAPI.
What does it cost to host a FastAPI app on Ample?
The Free plan runs 2 apps at once with no card and a hard monthly budget, so it never bills you. Larger needs are priced on volume; see pricing.
What if the deploy fails?
ample deploy waits until the app is live or failed. A failure returns who must act, a diagnosis and a suggested fix; read the logs with ample logs <deployment_id> --kind build. See Diagnose deployment failures for FastAPI.
More for FastAPI
FastAPI How to serve FastAPI public assets through a CDN on Ample FastAPI How to set environment variables and secrets for a FastAPI app on Ample FastAPI How to connect a FastAPI app to Postgres on Ample FastAPI How to fix a failed FastAPI deploy on Ample FastAPI How to use S3-compatible storage from a FastAPI app on Ample FastAPI How to serve private files from a FastAPI app on Ample FastAPI How to run database migrations for a FastAPI app on Ample