Your infrastructure. Your workspace.
A guided development setup for teams with access to the private Jarvis repositories.
Before you begin
Section titled “Before you begin”This is the platform’s developer Compose recipe, not a production installer or a local replica of the newly deployed external-application slice. Repository and private dependency access are required. It builds source; it is not a pull-only distribution.
Walk through the setup
Section titled “Walk through the setup”Select a checkpoint. These commands run on your machine; this page never executes a shell or claims to detect your Docker installation.
Check your tools
Section titled “Check your tools”git --versiondocker versiondocker compose versionmake --versiongrpcurl --versionThe current smoke.sh uses grpcurl for internal development checks. Install it
before running smoke tests. A Docker client without a running daemon is not enough.
The initial source build downloads dependencies and can be large; no timing or
memory guarantee is made here.
Clone sibling repositories
Section titled “Clone sibling repositories”Run in a new directory. The serial loop stops on the first failure rather than
hiding a failed private clone behind a background wait.
set -eumkdir jarvis-labcd jarvis-labfor repo in deploy go-kit runtime cockpit gateway iam projects agents \ integrations billing notifications retrieval anon-session ctx-compiler \ ctx-warmpool ctx-cognition ctx-handoff; do git clone "https://gitlab.com/jarvis-ecosystem/${repo}.git"donecd deployBuild contexts refer to sibling repositories. Do not flatten them into deploy/.
Record the revisions you use; independent default branches are not a frozen,
certified platform release.
Inspect before starting
Section titled “Inspect before starting”In the same terminal, set JARVIS_HOME to your actual, operator-provided brain
checkout. Do not mount a home directory or an empty placeholder as the brain.
export JARVIS_HOME="$HOME/path-to-your-jarvis-brain"test -d "$JARVIS_HOME/agents"docker compose config --quietdocker compose config --servicesReview the Compose file’s published ports, host mounts and model bridge settings.
The current recipe sets JARVIS_MODEL_BRIDGE_URL to a host bridge; this takes
precedence over JARVIS_DEV_ECHO_GATEWAY. A default echo flag does not make the
stack hermetic. Configure a deliberate development model path before sending work.
The shared Go Docker build supplies local go-kit, but does not currently supply
credentials for every other private module. Host Git access is not automatically
available inside BuildKit. Have the operator resolve the build’s private dependency
access securely; never bake a token into an image or build argument.
Build and inspect
Section titled “Build and inspect”Proceed only after the configuration and private build access above are resolved.
make updocker compose psmake up invokes docker compose up -d --build. It then lists containers; it
does not wait for and certify every user-facing flow. Follow failing services
with docker compose logs --tail=100 SERVICE and fix the cause rather than
restarting blindly. Logs may contain sensitive values: redact them before sharing.
Exercise the actual paths
Section titled “Exercise the actual paths”make smokeThen open the local cockpit and exercise registration, sign-in and a small test operation. MailHog is the local mail sink; a queued message is not proof of real-world email delivery.
The smoke harness checks service paths and internal gRPC; it does not replace browser acceptance or certify the public external-app SDK. Use the hosted dev consumer checklist for that integration.
Know what is running
Section titled “Know what is running”| Surface | Local address | Use |
|---|---|---|
| Cockpit | http://localhost:3000 |
Operator UI |
| Gateway | http://localhost:8080 |
Platform edge |
| MailHog | http://localhost:8025 |
Development mail sink |
| Runtime | http://localhost:8011 |
Direct development inspection |
| Retrieval | http://localhost:8765 |
Direct development inspection |
These local addresses are not the hosted SDK issuer or personal API. The Compose auth prototypes and dev defaults are not production credentials or permissions.
Stop without losing data
Section titled “Stop without losing data”make downmake ps lists services; make logs follows logs. make clean deletes volumes
and database state. It is a reset operation, not routine shutdown; back up any
valuable local data first.
Verification status and known limits
Section titled “Verification status and known limits”This guide was reviewed against deploy commit
e1cfc72fb4e0b84662be4367c87a5505b1b8aa3a. Its command structure and Compose
configuration are checked separately from website browser tests. A fresh
whole-platform source build and end-to-end self-hosted startup are not certified
by this page. Known private-build credential and host-bridge requirements above
are real prerequisites, not steps the website can silently complete for you.
Do not expose default development ports to the Internet. Production requires a separate deployment/security review, real identity configuration, secure secrets, backups, tenancy checks and recovery exercises. The external-app dev slice also needs registry entries, keys and consent wiring not provisioned by this recipe.