# Docker builder

Pick your simulators, set each one's options, and copy the rystic.yaml, CLI lines and Compose file that start them.

Start here if you are building with Rystic. Pick the [simulators](https://www.rystic.ai/docs/concepts/glossary.md#simulator) your app talks to, set each one's options, and copy the result — a `rystic.yaml` stack file, the equivalent `rystic run` lines, and a Compose file. Every control is one `rystic run` flag, so what you copy is always what the CLI accepts.

The builder offers every released simulator. `--scenario` (the stack file's `scenario`) takes any name in the scenarios column. Tapes (`tapes`, `tape`, `speed`, `copies`) apply where replay is yes, `live` where live is yes.

| Simulator | Product | Scenarios | Replay | Live |
|---|---|---|---|---|
| Slack | `slack-twin` | `design_studio` | no | no |
| GitHub Pulls | `github-pulls-twin` | `github-pulls_bot_pr_broken`, `github-pulls_bot_pr_queue`, `github-pulls_checks_red`, `github-pulls_garrytan_gbrain`, `github-pulls_issue_tracker`, `github-pulls_merged_history`, `github-pulls_open_queue`, `github-pulls_org_teams`, `github-pulls_review_thread` | no | no |
| Kalshi | `kalshi-twin` | `arb_closes`, `ask_only`, `bid_only`, `broke`, `brownout_503`, `btc15m_tape`, `chop`, `closes_mid_run`, `deep_book`, `degrades_mid_run`, `drift_to_one`, `drift_to_zero`, `dutch_book`, `edge_5xx`, `empty_book`, `exchange_halted`, `expired_auth`, `flaky_500`, `flash_crash`, `forbidden_403`, `gap_up`, `gapped_book`, `has_history`, `heals_after_outage`, `holding_long`, `holding_short`, `liquidity_evaporation`, `long_shot`, `market_closed`, `market_unopened`, `near_certain`, `no_arb`, `pinned_at_fifty`, `rate_limited`, `rich`, `session_expires_mid_run`, `shard2_world`, `spread_blowout`, `stair_step`, `thin_book`, `tight_book`, `top_heavy_book`, `trend_down`, `trend_up`, `underwater`, `wide_spread`, `writes_throttled` | yes | yes |
| PayPal | `paypal-twin` | `design_studio` | no | no |
| Lob | `lob-twin` | `design_studio` | no | no |
| Okta | `okta-twin` | `design_studio` | no | no |
| Linear | `linear-twin` | `linear_archive_vault`, `linear_roadmap_quarter`, `linear_solo_workspace`, `linear_sprint_board`, `linear_triage_inbox` | no | no |
| Stripe | `stripe-twin` | `design_studio` | no | no |
| Resend | `resend-twin` | `design_studio` | no | no |
| Anthropic | `anthropic-twin` | `anthropic_batch_archive`, `anthropic_batch_queue`, `anthropic_file_vault`, `anthropic_fresh_workspace`, `anthropic_skill_library` | no | no |
| Clerk | `clerk-twin` | `clerk_acme_tenant`, `clerk_holdco_orgs`, `clerk_invite_backlog`, `clerk_session_sweep`, `clerk_solo_founder` | no | no |
| Dropbox | `dropbox-twin` | `dropbox_deleted_backlog`, `dropbox_fresh_signup`, `dropbox_paired_identity`, `dropbox_personal_archive`, `dropbox_team_shared` | no | no |
| Gmail | `gmail-twin` | `gmail_busy_inbox`, `gmail_draft_bench`, `gmail_filter_desk`, `gmail_fresh_mailbox`, `gmail_vacation_relay` | no | no |
| Google Drive | `google-drive-twin` | `google-drive_fresh_mydrive`, `google-drive_media_vault`, `google-drive_shared_inbox`, `google-drive_team_workspace`, `google-drive_trash_backlog` | no | no |
| Notion | `notion-twin` | `notion_attachments`, `notion_blank_slate`, `notion_linked_sources`, `notion_locked_vault`, `notion_page_tree`, `notion_review_thread`, `notion_task_tracker`, `notion_team_directory`, `notion_team_wiki`, `notion_template_board`, `notion_trash_bin` | no | no |
| S3 | `s3-twin` | `s3_bucket_farm`, `s3_encrypted_vault`, `s3_fresh_bucket`, `s3_static_site`, `s3_versioned_archive` | no | no |
| Shopify Storefront | `shopify-storefront-twin` | `shopify-storefront_apparel_catalog`, `shopify-storefront_checkout_cart`, `shopify-storefront_fresh_store`, `shopify-storefront_sold_out_shelf` | no | no |
| Word | `word-twin` | `word_contract_clean`, `word_contract_redlined` | no | no |

Each service in a `rystic.yaml` takes these keys, one per `rystic run` flag: `product`, `version`, `runner`, `port`, `scenario`, `seed`, `tapes`, `tape`, `speed`, `copies`, `env`, `args`, `seed_rng`, `egress_retain`, `network`, `live`. `rystic up` starts the file; `rystic export` writes the Compose file.

---

Source: https://www.rystic.ai/docs/docker-builder · Markdown: https://www.rystic.ai/docs/docker-builder.md
