Let’s run the Junior DE in production on AWS.
AWS Setup
Update Credentials
To run on AWS, you need one of the following:
- The
~/.aws/credentials
file with your AWS credentials
- or
AWS_ACCESS_KEY_ID
+ AWS_SECRET_ACCESS_KEY
environment variables
To create the credentials file, install the aws cli and run aws configure
Update region and subnets
Add 2 subnets to the workspace/settings.py
file (required for ECS services)
ws_settings = WorkspaceSettings(
...
# -*- AWS settings
# Add your Subnet IDs here
subnet_ids=["subnet-xyz", "subnet-xyz"],
...
)
Please check that the subnets belong to the selected aws_region
Update Secrets
Streamlit App Password
Update the streamlit app password in workspace/secrets/prd_app_secrets.yml
workspace/secrets/prd_app_secrets.yml
APP_PASSWORD: "admin"
# OPENAI_API_KEY: "sk-***"
RDS database password
Update the RDS database password in workspace/secrets/prd_db_secrets.yml
workspace/secrets/prd_db_secrets.yml
# Secrets used by prd RDS database
MASTER_USERNAME: ai
MASTER_USER_PASSWORD: "ai9999!!"
Create AWS resources
Create AWS resources using:
phi ws up --env prd --infra aws
This will create:
- ECS Cluster for the application.
- ECS Task Definitions and Services that run the application on the ECS cluster.
- LoadBalancer to route traffic to the application.
- Security Groups that control incoming and outgoing traffic.
- Secrets for managing application and database secrets.
- RDS Database for Knowledge Base and Storage.
Press Enter to confirm and grab a cup of coffee while the resources spin up.
- The RDS database takes about 5 minutes to activate.
- These resources are defined in the
workspace/prd_resources.py
file.
- Use the ECS console to view services and logs.
- Use the RDS console to view the database instance.
Production Junior DE
Open the LoadBalancer DNS provided when creating the Streamlit App
DuckGPT
- Enter the
APP_PASSWORD
from the prd_app_secrets.yml
file (default: admin
)
- Click on DuckGPT and Enter a username.
- Message “Show me revenue over time”
- See your Junior DE work through the problem.

Update Production
Follow this guide to update your production application. You'll need to:
- Create a new image
- Update the ECS Task Definition and Services.
Delete AWS resources
Play around and then delete AWS resources using:
phi ws down --env prd --infra aws
or delete individual resource groups using:
phi ws down --env prd --infra aws --group app
Next
Congratulations on running your Junior DE on AWS. Next Steps:
Responses are generated using AI and may contain mistakes.