Skip to main content
Your production application runs on AWS and its resources are defined in the infra/prd_resources.py file. This guide shows how to:
  1. Build a production image
  2. Update ECS Task Definitions
  3. Update ECS Services

Workspace Settings

The InfraSettings object in the infra/settings.py file defines common settings used by your workspace apps and resources.

Build your production image

Your application uses the agno images by default. To use your own image:
  • Create a Repository in ECR and authenticate or use Dockerhub.
  • Open infra/settings.py file
  • Update the image_repo to your image repository
  • Set build_images=True and push_images=True
  • Optional - Set build_images=False and push_images=False to use an existing image in the repository

Create an ECR Repository

To use ECR, create the image repo and authenticate with ECR before pushing images. 1. Create the image repository in ECR The repo name should match the image_name in settings.py (default: agentos-aws-template). create-ecr-image 2. Authenticate with ECR
Authenticate with ECR
You can also use a helper script to avoid running the full command
Update the script with your ECR repo before running.

Update the InfraSettings

infra/settings.py
The image_repo defines the repo for your image.
  • If using dockerhub it would be something like agno.
  • If using ECR it would be something like [ACCOUNT_ID].dkr.ecr.us-east-1.amazonaws.com

Build a new image

Build the production image using:
To force rebuild images, use the --force or -f flag
Because the only docker resources in the production env are docker images, you can also use:

ECS Task Definition

If you updated the Image, CPU, Memory or Environment Variables, update the Task Definition using:

ECS Service

To redeploy the production application, update the ECS Service using:

If you ONLY rebuilt the image, you do not need to update the task definition and can just patch the service to pickup the new image.