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

  1. 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"
  1. 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"
  1. 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.

  1. 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

Know the limits

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