Skip to content
HN On Hacker News ↗

Try Strata free on your own machine — Strata

▲ 25 points • 17 comments • by ajoski9 • 1w ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is AI.

100 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 1
SEGMENTS · AI 1 of 1
WORD COUNT 1,358
PEAK AI % 100% · §1
Analyzed
Sep 30
backend: pangram/v3.3
Segments scanned
1 windows
avg 1358 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 1,358 words · 1 segments analyzed

Human AI-generated
§1 AI · 100%

Start the server Strata Server runs in Docker with its own bundled database, so there is nothing to configure. Need Docker? Get Docker Desktop. Run this in a terminal and press Enter to accept the default port: curl -fsSL https://strata.do/server/install.sh | bash It checks Docker, pulls the image, starts the container, and waits until it is healthy. Then open http://localhost:8080 and create your admin account. Your free trial activates on its own, and a TPC-DS retail sample model is already loaded, so you can explore before connecting anything. Install the CLI The CLI is where projects, warehouse connections, and deploys happen. One command installs it and verifies it works: curl -fsSL https://strata.do/cli/install.sh | bash Prefer not to pipe into bash? gem install strata-cli does the same thing on any OS. Confirm it is on your path: strata version Create a project A project is a folder of YAML under git. It ships with an AGENTS.md that tells your coding agent exactly how Strata models work. strata init my-analytics cd my-analytics Add your warehouse The only part that depends on your network and your credentials. A read only user is ideal. Have these ready: Warehouse What the CLI will ask for Snowflake Account identifier (like myorg-myaccount), database, warehouse, role, and a personal access token. PAT is the simplest auth mode. Key pair and OAuth are also supported. Databricks Workspace host, the SQL warehouse HTTP path, catalog and schema, and a personal access token. PostgreSQL, Redshift, MySQL, SQL Server Host, port, database, schema, username, password. Turn on SSL if your server requires it. ClickHouse, Athena, Trino, Druid Endpoint or region plus credentials. DuckDB, SQLite A path to the database file. Full field list per adapter. Pick your adapter. The CLI asks for a key (use warehouse, the prompts below assume it), a display name, the connection details, and the credentials. Credentials go into .strata, which is gitignored and never leaves your machine except inside a deploy to your own server. strata datasource add snowflake # or: clickhouse, databricks, postgres, redshift, mysql, sqlserver, athena, trino, druid, duckdb, sqlite Then test it. Do not skip this. It reports exactly what is wrong when something is. strata datasource test warehouse Once it passes, confirm you can see the tables you expect: strata datasource tables warehouse Build the model with your agent Open Claude Code, Codex, or Cursor from the project root, the folder holding project.yml and AGENTS.md. The agent reads that file automatically. It is the whole contract: Strata's YAML schema, naming rules, join constraints, and the read only discovery commands to use instead of guessing at your schema. No custom prompt needed. Ask for the model: Build the semantic model for the tables in my warehouse datasource. Follow AGENTS.md. Show me your proposal before writing any files. The agent inspects your tables, proposes fact and dimension tables, fields, and joins, and waits for your approval before writing anything. Read the proposal. The things worth a second look: Which tables it treats as facts and which as dimensions. Shared dimension names are intentional. In Strata, the same name on two tables means the same concept and makes them blendable. Measure names must stay distinct per fact. One join per table pair. A second key to the same dimension needs a role playing table. Names, because they are what your users will see and query. Say yes and it writes models/**/*.yml, running strata audit after every change. For a few dozen tables this is a few minutes. Already on dbt MetricFlow, Cube, or LookML? Point the same agent at those files. Both sides are YAML, so it transpiles your existing definitions into a Strata model in minutes. Full guide: Building your model. Deploy and explore Validate the whole model, then push it to your server: strata audit all strata deploy The first deploy asks for your server URL (http://localhost:8080) and offers to sign you in through the browser. It saves an API key for you, so there is no key to copy around. Refresh http://localhost:8080 and your model is live. Some good first moves: Type a question in plain language and let Strata resolve it to the right fields. Drag a measure from one fact next to a dimension from another and watch it blend, or refuse with a reason. Build a report from a few views and let the layout engine arrange it. Add a segment to one measure and see a cohort beside the baseline in a single view. Every change to the model is the same loop: edit YAML (or ask the agent), strata audit all, strata deploy. If something goes wrong localhost:8080 does not load First boot sets up the bundled database and can take 30 to 60 seconds. Watch it with docker logs -f strata and refresh once you see "Databases ready". The installer says Docker is not running, or permission denied Docker is installed but the installer cannot talk to it. On macOS or Windows, start Docker Desktop and wait for it to say it is running. On Linux, start it with sudo systemctl start docker. If you see permission denied, run the installer with sudo: curl -fsSL https://strata.do/server/install.sh | sudo bash. Use sudo for the docker commands afterwards too. The container exits immediately Check the logs. The usual cause is port 8080 already in use. Remove the container with docker rm -f strata, then re-run the installer and enter a different port, or with plain docker change the left side of -p, for example -p 9090:80. How do I stop, upgrade, or remove the server? It is one container named strata. docker stop strata and docker start strata pause and resume it, re-running the installer upgrades it in place, and docker rm -f strata removes it. Your data lives in the strata_data volume and survives all of that until you run docker volume rm strata_data. To remove the CLI as well: gem uninstall strata-cli, then delete the project folder, which is where its .strata credentials file lives. strata: command not found Open a new terminal so your PATH picks up the gem. If it persists, run gem environment and make sure the gem bin directory is on your PATH. datasource test fails The CLI connects from your laptop, so your laptop needs a route to the warehouse first: VPN on, IP allowlisted, firewall open. Then check host, port, database, schema, and credentials, and re-enter credentials with strata datasource auth warehouse. Your server in Docker uses the same route when it runs queries. My database is on the same laptop Inside Docker, localhost is the container itself. Use host.docker.internal as the host so the server can reach a local PostgreSQL, or mount a DuckDB or SQLite file into the container. Adapter gem missing Run strata datasource check. It lists the adapter gems you have and the ones you need, for example gem install pg for PostgreSQL. The CLI asked whether to enable AI features You can say no. That prompt covers AI assisted table generation inside the CLI. Your coding agent does the modeling from AGENTS.md instead. The agent invented YAML keys or asked for credentials Start the agent from the project root so it reads AGENTS.md, and point it at the file explicitly. It never needs credentials. Those live in .strata, which is gitignored. Agents only write model YAML: deploys and datasources stay with you. The CLI installer says Ruby or Git is missing The CLI is a Ruby gem and needs Ruby 3.4.4 or newer plus Git. Install them, open a new terminal, and run the CLI installer again. brew install ruby git Homebrew installs a current Ruby next to the system one. rbenv or asdf work too. Still stuck? Email [email protected] with the output of the failing command, or book a setup call and we will do it with you. What next Tutorial The full TPC-DS walkthrough, from a raw schema to a blended report. Core concepts Fields, grain, conformed dimensions, and why naming is the model. Measure types Standard, complex, snapshot, LOD, and the transforms on top. AI agents and Strata Point your own agents at the API and get grain safe answers.