Skip to content

feat: add studio compose profile (api, ui, deployment-router, query-proxy, redis)#77

Draft
nasmr wants to merge 4 commits into
mainfrom
nas/with-studio
Draft

feat: add studio compose profile (api, ui, deployment-router, query-proxy, redis)#77
nasmr wants to merge 4 commits into
mainfrom
nas/with-studio

Conversation

@nasmr
Copy link
Copy Markdown

@nasmr nasmr commented May 26, 2026

Summary

Adds a new studio compose profile that runs the five subgraph-studio services against the local-network stack:

  • studio-api — GraphQL API + JWKS
  • studio-ui — Next.js UI at http://localhost:5000/studio/
  • studio-deployment-router — handles deploys to local graph-node + IPFS
  • studio-query-proxy — query path in front of graph-node
  • studio-redis — session + cache store

Each app service ships a *.sh env wrapper under containers/ui/studio/ that sources .env, exports only the values that diverge from studio's built-in defaults (DB, Redis, gateway/JWKS URIs, local Hardhat contract addresses, Orb/Safe stubs, etc.), then execs the process

A dedicated studio database is created in containers/core/postgres/setup.sql.

Dev override

No local-network-targeted subgraph-studio image is published yet, so profile requires mounting a local checkout via
compose/dev/studio.yaml. Details on required config and future migration path to prebuilt GHCR image are documented in compose/dev/README.md

Studio checkout must be on the nas/ui-hardhat-publish branch (carries local-Hardhat patches not yet on main).

Scripts

  • scripts/fund-wallet.sh <addr> [eth]hardhat_setBalance for a wallet so MetaMask can pay gas to publish.
  • scripts/seed-studio-user.sh <addr> — runs the studio knex seed to create a verified user for an ETH address (skips the email-confirmation prompt).

Test plan

  • COMPOSE_PROFILES=block-oracle,explorer,studio without the dev override → studio app containers exit with the "needs source mounted" message.
  • With override + STUDIO_SOURCE_ROOT set → all five services reach healthy.
  • seed-studio-user.sh <addr> then sign in to Studios UI with MetaMask account
  • fund-wallet.sh <addr> 1 && scripts/mine-block.sh → MetaMask balance updates
  • User can complete Subgraph create, deploy and publish steps successfully with metamask on hardhat network
  • Profile off (default block-oracle,explorer) → no studio containers created; nothing else regresses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant