How to deploy a Flask app | Ample
The short version
To deploy a Flask 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 Flask
- 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 Flask 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 app.py |
| Tested size | s-1vcpu-1gb |
Serve the WSGI app with a production server such as waitress from app.py reading PORT; pass --start "python3 app.py". 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): Flask app served by waitress on python-3.12 and rendered the expected response.
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.
- The Flask development server was not used; waitress was tested.
Frequently asked questions
Do I need a Dockerfile to deploy Flask?
No. Ample detects Flask 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 Flask 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 Flask.
What does it cost to host a Flask 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 Flask.
More for Flask
Flask How to serve Flask public assets through a CDN on Ample Flask How to set environment variables and secrets for a Flask app on Ample Flask How to connect a Flask app to Postgres on Ample Flask How to fix a failed Flask deploy on Ample Flask How to use S3-compatible storage from a Flask app on Ample Flask How to serve private files from a Flask app on Ample Flask How to run database migrations for a Flask app on Ample