feat: add studio compose profile (api, ui, deployment-router, query-proxy, redis)#77
Draft
nasmr wants to merge 4 commits into
Draft
feat: add studio compose profile (api, ui, deployment-router, query-proxy, redis)#77nasmr wants to merge 4 commits into
nasmr wants to merge 4 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new
studiocompose profile that runs the five subgraph-studio services against the local-network stack:studio-api— GraphQL API + JWKSstudio-ui— Next.js UI at http://localhost:5000/studio/studio-deployment-router— handles deploys to local graph-node + IPFSstudio-query-proxy— query path in front of graph-nodestudio-redis— session + cache storeEach app service ships a
*.shenv wrapper undercontainers/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 processA dedicated
studiodatabase is created incontainers/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 incompose/dev/README.mdStudio checkout must be on the
nas/ui-hardhat-publishbranch (carries local-Hardhat patches not yet onmain).Scripts
scripts/fund-wallet.sh <addr> [eth]—hardhat_setBalancefor 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,studiowithout the dev override → studio app containers exit with the "needs source mounted" message.STUDIO_SOURCE_ROOTset → all five services reach healthy.seed-studio-user.sh <addr>then sign in to Studios UI with MetaMask accountfund-wallet.sh <addr> 1 && scripts/mine-block.sh→ MetaMask balance updatesblock-oracle,explorer) → no studio containers created; nothing else regresses.