The WorkspaceSettings object in the workspace/settings.py file defines common settings used by your apps and resources. Here are the settings we recommend updating:

workspace/settings.py
ws_settings = WorkspaceSettings(
    # Update this to your project name
    ws_name="ai",
    # Add your AWS subnets
    subnet_ids=["subnet-xyz", "subnet-xyz"],
    # Add your image repository
    image_repo="[ACCOUNT_ID].dkr.ecr.us-east-1.amazonaws.com",
    # Set to True to build images locally
    build_images=True,
    # Set to True to push images after building
    push_images=True,
)

WorkspaceSettings can also be updated using environment variables or the .env file.

Checkout the example.env file for an example.

Workspace Name

The ws_name is used to name your apps and resources. Change it to your project or team name, for example:

  • ws_name="booking-ai"
  • ws_name="reddit-ai"
  • ws_name="vantage-ai"

The ws_name is used to name:

  • The image for your application
  • Apps like db, streamlit app and fastapi server
  • Resources like buckets, secrets and loadbalancers

Checkout the workspace/dev_resources.py and workspace/prd_resources.py file to see how its used.

Image Repository

The image_repo defines the repo for your image.

  • If using dockerhub it would be something like phidata.
  • If using ECR it would be something like [ACCOUNT_ID].dkr.ecr.us-east-1.amazonaws.com

Checkout the dev_image in workspace/dev_resources.py and prd_image in workspace/prd_resources.py to see how its used.

Build Images

Setting build_images=True will build images locally when running phi ws up dev:docker or phi ws up prd:docker.

Checkout the dev_image in workspace/dev_resources.py and prd_image in workspace/prd_resources.py to see how its used.

Read more about:

Push Images

Setting push_images=True will push images after building when running phi ws up dev:docker or phi ws up prd:docker.

Checkout the dev_image in workspace/dev_resources.py and prd_image in workspace/prd_resources.py to see how its used.

Read more about:

AWS Settings

The aws_region and subnet_ids provide values used for creating production resources. Checkout the workspace/prd_resources.py file to see how its used.