Prerequisites
- A Git repository containing your application and its production build command.
- A Ravion account with your AWS account connected. Start free at Ravion signup.
- The Ravion CLI installed and authenticated. See CLI installation.
my-org/my-app as a placeholder. Replace it with your repository before applying the config.
Set up this Flask app for Ravion ECS hosting.
Configure the deployment
Flask’s production documentation recommends a dedicated WSGI server instead of the built-in development server. This example uses Railpack for the build. Usebuild_source: dockerfile instead when you need a custom Dockerfile. Railpack detects Flask from the application dependencies.
Railpack detects Flask when flask is a dependency. It starts gunicorn --bind 0.0.0.0:${PORT:-8000} main:app only when gunicorn is also a dependency, so add Gunicorn to your requirements and use a custom start command when your module or application factory differs from main:app. Ravion injects PORT automatically from container_port.
ravion.yaml
8000 in this example. Use your application factory import path if the app is created by a function.
Apply and connect your domain
Next steps
Custom domains
Point a domain at your deployed service and manage its certificate.
Project config
Preview and apply Ravion configuration from source control.
Pipelines
Add approvals, migrations, and deployment automation.
Logs and metrics
Inspect deploy output and production health in Ravion.