Repository navigation
dev: run local slices with bun run dev <slice> - #39
Merged
Merged
Conversation
compose.dev.yaml starts any slice (edb, cdb, s3, edd, aapi, wapp, all) with its dependencies, migrations and a SeaweedFS curriculum bucket. eDd builds with the `dev` cargo profile and MOCK_AUTH, so no OAuth credentials are needed. The Dockerfile's CARGO_PROFILE defaults to release, so deploys are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`bun run dev <slice>` now behaves like `docker compose up`: logs of the slice's own services follow, Ctrl-C stops the slice and its dependencies. `-d` behaves like `up -d`: one-shots must exit 0, then long-running services must be healthy. `compose` passthrough keeps `-d`/`--detach`.
ShaunSHamilton
force-pushed
the
dev_compose-slices
branch
from
November 7, 2026 19:34
2e51386 to
57c1ca3
Compare
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
One command per slice of the platform, with dependencies, migrations and local S3, in Docker:
Slices:
edb,cdb,s3,edd,aapi,wapp,all.compose.dev.yaml: databasesextendstheir owncompose.yaml; apps are defined there so a slice never needs another app's required vars. One-shots create cDb'scurriculumdatabase, the S3 bucket, and runedb-migrate/cdb-migrate. Apps start after them (service_completed_successfully).docker compose up: follows logs of the slice's own long-running services; Ctrl-C stops the slice and every service it depends on (passed explicitly, since attacheduponly stops the services it is given).-d, likedocker compose up -d: one-shots (restart: "no") must exit 0, then long-running services must be healthy. Notup --waitalone: it fails on a one-shot that has already exited, and returns before a slow one finishes.s3.localhost:18333: a network alias inside Docker and loopback in browsers, so presigned URLs work from both. Dev-only keys indev/seaweedfs-s3.json.CARGO_PROFILE=devand runs withMOCK_AUTH=true, so no OAuth credentials: log in throughPOST /auth/dev/login. eDd does not use cDb, soedddoes not start it;alldoes.apps/examiner-dashboard/Dockerfile: newCARGO_PROFILEarg, defaultrelease. Deploy builds unchanged.dev/dev.ts: creates missingdatabases/*/.envwith random passwords, passes them to compose.compose <args>passes arguments through unchanged.package.json:devnow runs slices; previousdev(wApp + eDd client HMR) isdev:client.Notes
exam-platform-dev).bun run dev:clientalongsideeddgives client HMR.0002failmigrate-cdb("previously applied but has been modified"):bun run dev reset.Test plan
compose.dev.yamlconfig resolvesbun run dev s3: Ctrl-C stopss3-initands3, command returns after they stopbun run dev -d s3: returns afters3-initexits 0bun run dev -d cdbon fresh volumes:curriculum-db-init,migrate-cdbexit 0, returns 0; on stale volume reportsfailed: migrate-cdb, exits 1bun run dev compose up -d s3detachesbun run dev eddafter rebase onto feat(eDd): add s3 object store + test page #38: dev login, upload to/api/objects, presigned URL fetchedb/aapi/wappslicesGOOGLE_*in the app.env🤖 Generated with Claude Code