Developer Edition — Installation Guide

This guide installs the free Developer Edition. Looking for the licensed production runtime? See the Enterprise Installation Guide.

StrataBI Developer Edition runs entirely in your own AWS account. Your dashboards, application data, and deployed AWS resources remain in your AWS account — StrataBI does not require a hosted StrataBI SaaS account.

From an AWS-ready machine to a live dashboard in about 15 minutes. Creating a new AWS account and configuring credentials for the first time may take longer.

Heads up — real AWS resources, real (small) costs. StrataBI provisions actual AWS services in your account, and AWS bills you directly. The Developer Edition uses serverless, usage-based services (Athena, Lambda, S3, DynamoDB), so evaluation costs are generally low — but actual charges depend on region and usage. Estimate with the AWS Pricing Calculator and see the cost FAQ. Shaleio has no visibility into or control over your AWS bill.

Quick links: Cost FAQ · License · Troubleshooting · Uninstall · GitHub


Fast path (experienced AWS users)

You have Python 3.11+, an AWS account with working credentials, and OpenTofu (or Terraform) installed:

bash
pipx install stratabi stratactl
aws sts get-caller-identity                                          # verify credentials
stratactl --profile <profile> --region <region> bootstrap --run --yes
stratactl --profile <profile> --region <region> dev install
stratactl --profile <profile> --region <region> dev configure-local
stratabi                                                             # http://127.0.0.1:8050

New to any of this? Follow the full guide below — every layer is walked through, and you can skip any section whose "check" command already passes.


1. Python 3.11+

Check: python --version (or python3 --version). If it's 3.11–3.14, skip to §2.

2. pipx

pipx installs command-line apps in isolated environments so they never conflict with your other Python packages. Check: pipx --version — if present, skip to §3.

3. Install StrataBI + StrataCTL

bash
pipx install stratabi     # the Developer Edition runtime (the app)
pipx install stratactl    # the installer/orchestrator (provisions your AWS data plane)

Verify: stratabi --version and stratactl --version. Upgrade later with pipx upgrade stratabi / pipx upgrade stratactl.

4. AWS account + credentials

StrataBI deploys into your AWS account. Check: aws sts get-caller-identity — if it prints your Account ID and an ARN, credentials work; skip to §5.

4a. No AWS account yet?

Create one at aws.amazon.com → Create an AWS Account. See the cost FAQ before you start.

4b. Install the AWS CLI

Check: aws --version. If present, skip to 4c.

4c. Get credentials

Recommended (organizations / production) — IAM Identity Center (SSO). Browser-based, short-lived credentials; nothing long-lived to leak.

  1. In the AWS console, enable IAM Identity Center, create a user, and assign it access to your account (e.g. AdministratorAccess or a scoped role).
  2. Configure and log in on your machine:

``bash aws configure sso # enter the SSO start URL + region shown in the console; name the profile e.g. "stratabi" aws sso login --profile stratabi ``

Fallback — IAM access keys (personal accounts). Simpler for a personal account; not for shared/production use.

  1. AWS console → IAM → Users → create a user → attach AdministratorAccess (or a scoped policy).
  2. Select the user → Security credentials → Create access key → Command Line Interface (CLI) → copy the key ID + secret.
  3. aws configure — paste the key ID + secret, set a region, output json.
Never create or use root-account access keys. Use an IAM user or SSO. Treat any secret key like a password; never commit it or paste it into chats.

4d. Region & verify

Set a default region (e.g. us-east-1) during aws configure, or export it:

bash
# Windows (cmd):  set AWS_DEFAULT_REGION=us-east-1
# macOS/Linux:    export AWS_DEFAULT_REGION=us-east-1

Then confirm: aws sts get-caller-identity should print your Account ID.

:::note Windows PowerShell credential trap. The AWS access-portal "command line" snippet defaults to cmd.exe syntax (set AWS_ACCESS_KEY_ID=…). Pasted into PowerShell, set creates a PowerShell variable, not an environment variable, so the credentials are never found and --check reports none. In PowerShell either use the portal's PowerShell tab ($Env:AWS_ACCESS_KEY_ID = "…"), or — better — run aws configure sso once, then set AWS_PROFILE=<name> and run aws sso login daily.

Also note: only stratabi reads .env. stratactl takes credentials from the environment or --profile (it does not read .env), so pass --profile or export AWS_PROFILE for stratactl commands.

:::

5. OpenTofu

StrataCTL supports OpenTofu by default and can also use a compatible Terraform installation. Check: tofu -version (or terraform -version) — if present, skip to §6.

6. Deploy the data plane

bash
stratactl --profile stratabi --region us-east-1 bootstrap --run --yes   # one-time: StrataCI
stratactl --profile stratabi --region us-east-1 dev install             # deploy the data plane
stratactl --profile stratabi --region us-east-1 dev configure-local     # write a non-secret .env

This creates a small serverless data plane (S3, Athena, Glue, DynamoDB, two Lambdas) plus a lightweight CodeBuild runner + IAM. dev configure-local writes the STRATABI_* settings + region/profile into a local .env (no AWS keys). --profile/--region may appear anywhere in the command.

7. Run StrataBI

bash
stratabi --check     # preflight: dependencies, AWS creds/region, settings — should be all [ok]
stratabi             # serves http://127.0.0.1:8050

Open http://127.0.0.1:8050 — the Builder authors dashboards, the Dashboard page runs them.

8. Your first dashboard

bash
stratactl --profile stratabi --region us-east-1 dashboards push getting-started.json   # a sample
stratactl --profile stratabi --region us-east-1 dev demo install                       # or the ForgeWorks dataset

Refresh the app — your dashboard is live.

The STRATABI_* settings reference

dev configure-local (or the env_file_preview OpenTofu output) writes these into your .env. Only four are required — stratabi --check fails without them; the rest have sensible defaults and are filled in from your data plane.

SettingRequiredWhat it is
STRATABI_SYSTEM_BUCKETyesS3 bucket holding dashboards, themes, and results
STRATABI_DASHBOARD_PREFIXyesKey prefix for dashboards (e.g. analyst/dashboards)
STRATABI_ATHENA_OUTPUTyesS3 URI for Athena query results (e.g. s3://…/athena/)
STRATABI_CATALOG_DATABASEyesGlue/Athena database the queries run against
STRATABI_MODEnoaws (real data plane) or local (on-disk demo); default local
STRATABI_BUCKETnoAnalyst artifact bucket, if separate from the system bucket
STRATABI_MODULE_PREFIXnoKey prefix for modules (default analyst/modules)
STRATABI_THEME_PREFIXnoKey prefix for themes (default analyst/themes)
STRATABI_RESULT_PREFIXnoKey prefix for async results (default runtime/results)
STRATABI_WORKGROUPSnoComma-separated Athena workgroups to spread queries across
STRATABI_ATHENA_ASYNC_LAMBDA_ARNnoLambda that runs async Athena queries
STRATABI_STATUS_WRITER_LAMBDA_ARNnoLambda that writes tile status to DynamoDB
STRATABI_TILE_STATUS_TABLEnoDynamoDB table for per-tile run status
STRATABI_MODULE_REGISTRY_TABLEnoDynamoDB table listing installed modules
STRATABI_SOURCE_REGISTRY_TABLEnoDynamoDB table of registered source tables
STRATABI_STATUS_TTL_SECONDSnoTTL for status rows (default 86400)

AWS credentials are not among these — they come from your profile or provider chain (AWS_PROFILE / AWS_REGION, SSO, or environment variables). .env holds no secrets.

Uninstall

Everything lives in your account, so teardown is under your control:

bash
stratactl --profile stratabi --region us-east-1 dev demo remove      # if you loaded ForgeWorks
stratactl --profile stratabi --region us-east-1 dev uninstall        # StrataBI data plane
stratactl --profile stratabi --region us-east-1 bootstrap --destroy  # StrataCI itself
bootstrap --destroy applies only if you provisioned StrataCI with the built-in pipeline (stratactl bootstrap --run). If you deployed the runner with your own Terraform/OpenTofu, tear it down the same way you built it (tofu destroy).

The uninstall commands are designed to remove all StrataBI-managed resources; StrataCTL reports anything AWS prevents it from deleting. Enabling S3 versioning and reviewing the resource list before teardown is good practice.

Troubleshooting

Trust & transparency