Skip to content

AWS Marketplace Deployment

Deploy TeamLoop as a self-hosted instance in your own AWS account. Your data never leaves your VPC.

The CloudFormation stack creates a production-ready environment:

  • VPC with 2 availability zones, public and private subnets, NAT gateway
  • Aurora PostgreSQL Serverless v2 with pgvector, encrypted at rest, 7-day backup retention
  • AWS Cognito User Pool with email-based auth (federable with your corporate SAML IdP)
  • ECS Fargate service running API and Dashboard containers (non-root, auto-scaling 1—4 tasks)
  • Application Load Balancer with optional HTTPS via ACM certificate
  • Secrets Manager for database credentials and integration token encryption key
  • IAM roles scoped to Bedrock (Titan embeddings + reranking) and Marketplace metering
  • Database migration Lambda that enables pgvector, pgcrypto, and pg_trgm extensions on first deploy
  • An AWS account with permission to create CloudFormation stacks, VPCs, ECS services, RDS clusters, and IAM roles
  • An active TeamLoop subscription on AWS Marketplace
  • Optional: An ACM certificate ARN if you want a custom domain with HTTPS
  • Optional: A SAML IdP metadata URL if you want SSO federation via Cognito

Find TeamLoop on AWS Marketplace and subscribe. You will receive the container image URIs needed for the next step.

Navigate to CloudFormation > Create Stack in the AWS Console and upload the TeamLoop template. You can also launch directly from the Marketplace listing.

ParameterDefaultDescription
VpcCidr10.0.0.0/16CIDR block for the new VPC
ApiImageUri(required)ECR image URI for the API container
DashboardImageUri(required)ECR image URI for the Dashboard container
DomainName(empty)Custom domain (e.g., teamloop.example.com)
CertificateArn(empty)ACM certificate ARN (required if DomainName is set)
AuroraMinCapacity0.5Minimum Aurora Serverless v2 ACU (0.5—128)
AuroraMaxCapacity4Maximum Aurora Serverless v2 ACU (1—128)
VoyageApiKey(empty)Optional Voyage AI key (uses Titan V2 if empty)
EnableSamlFederationfalseEnable SAML IdP on the Cognito User Pool
SamlMetadataUrl(empty)Your SAML IdP metadata URL

Stack creation takes approximately 15 minutes. The migration Lambda runs automatically to enable PostgreSQL extensions, then the ECS service starts.

Once the stack status is CREATE_COMPLETE, find the application URL in the Outputs tab:

  • TeamLoopURL — Your custom domain (if configured) or the ALB DNS name
  • CognitoUserPoolId — Needed for admin user creation
  • CognitoHostedUIDomain — Cognito login page URL
  1. Open the Cognito console and navigate to the User Pool created by the stack
  2. Click Create user and enter an email address
  3. The user receives a temporary password via email
  4. Sign in at the TeamLoop URL and set a permanent password

Integration setup is the same as the SaaS version. In the TeamLoop dashboard:

  1. Go to Settings > Integrations
  2. Enter API tokens for GitHub, Notion, or Linear
  3. Tokens are encrypted at rest using the auto-generated encryption key in Secrets Manager

If you set EnableSamlFederation to true during stack creation:

  1. The stack creates a SAML identity provider in Cognito using your metadata URL
  2. Users from your corporate IdP can sign in via the Cognito hosted UI
  3. Attribute mapping is pre-configured for email and name claims

To add SAML after initial deployment, update the stack with EnableSamlFederation set to true and provide the SamlMetadataUrl.

  1. Create a CNAME record pointing your domain to the ALB DNS name (from stack outputs)
  2. Ensure your ACM certificate covers the domain and was provided as CertificateArn
  3. The stack automatically configures HTTPS with TLS 1.3
OptionWhen
Amazon Titan V2 (default)No VoyageApiKey provided. Uses Bedrock — no external API calls leave your account.
Voyage AI (BYOK)Provide your VoyageApiKey. Best quality for technical content.

The embedding model is locked per organization after the first embedding is generated. You cannot mix models.

Cognito is configured with:

  • Email-based sign-in with strong password policy (12+ chars, mixed case, numbers, symbols)
  • Two app clients: one for the Dashboard (PKCE flow) and one for MCP CLI (localhost callback)
  • Optional SAML federation for corporate SSO

Marketplace deployments use OAuth 2.0 with Cognito instead of API keys. Users authenticate through the Cognito hosted UI — the same credentials they use for the dashboard. If SAML federation is enabled, corporate SSO works automatically.

Your MCP endpoint URL is https://YOUR_DOMAIN/mcp/ (or the ALB DNS name from the ALBURL stack output if no custom domain is configured).

For per-client setup instructions (Cursor, Claude Code, VS Code, and others), see MCP Setup — AWS Marketplace.

Aurora PostgreSQL Serverless v2 with:

  • Automatic scaling between your configured ACU min/max
  • Encrypted storage, CloudWatch log exports
  • Snapshot-on-delete protection
  • Automatic credential rotation support via Secrets Manager

ECS tasks scale between 1 and 4 based on CPU utilization (target: 70%). Scale-out cooldown is 60 seconds; scale-in cooldown is 300 seconds.

AspectSaaSMarketplace
AuthAuth0AWS Cognito
DatabaseNeonAurora PostgreSQL Serverless v2
EmbeddingsVoyage AIAmazon Titan V2 (or BYOK Voyage)
HostingTeamLoop-managedYour AWS account
Data residencyTeamLoop infrastructureYour VPC
ScalingManagedConfigurable (Aurora ACU, ECS tasks)

Usage is metered through AWS Marketplace:

  • Queries — per-query metering
  • Entities — hourly gauge of stored entities

All charges appear on your standard AWS bill.

  • Check the Events tab in CloudFormation for the first FAILED resource
  • Common cause: insufficient IAM permissions. Ensure your role can create VPCs, RDS clusters, ECS services, IAM roles, and Lambda functions
  • Aurora creation can fail if the selected region does not support Serverless v2. Verify region support
  • Confirm the ECS service has at least one running task in the ECS console
  • Check the ALB target group health checks — both API (port 8080) and Dashboard (port 80) must be healthy
  • Review container logs in CloudWatch under /ecs/<stack-name>/api and /ecs/<stack-name>/dashboard
  • Verify the SAML metadata URL is accessible from the internet
  • Check that attribute mapping matches your IdP’s claim names
  • Confirm EnableSamlFederation is true in the stack parameters
  • The Aurora cluster is in private subnets and only accepts connections from ECS tasks and the migration Lambda
  • Check that the security groups allow traffic on port 5432
  • Verify the migration Lambda completed successfully (check its CloudWatch log group)
  • MCP Setup — Configure your AI assistant to connect to your Marketplace instance
  • Integrations — Connect GitHub, Notion, and Linear
  • Query Playground — Explore temporal query modes