Skip to content

chore: add visualizer service to docker-compose #21

@Colinho22

Description

@Colinho22

Motivation

Once the visualizer (issue #??) and the dockerized runner (issue #??) both
exist, docker compose up visualizer should be the canonical way for a
replicator to open the results dashboard against an experiment DB. This
closes the replication loop: clone → build → run experiments → view
results, all in containers.

Proposal

Add a visualizer service to docker-compose.yml:

  • Reuses the existing image (same dependencies), overrides command with streamlit run src/maestro/viz/app.py --server.port 8501 --server.address 0.0.0.0.
  • Port 8501:8501 mapped to host.
  • Read-only mount of the same DB the runner writes to.
  • Does not require API keys (pure read path) so it can run without .env populated.

Update README:

  • docker compose up visualizer → open http://localhost:8501.
  • Note the read-only DB mount (no risk of corrupting experiment data).

Scope

  • In scope:
    • Compose service definition
    • Port and volume wiring
    • README update
  • Out of scope:
    • Separate image for the visualizer (reuse runner image until it diverges)
    • Hosted / public deployment
    • HTTPS / auth

Open questions

  • Bundle visualizer deps (streamlit, plotly or altair) into the main image, or split into an optional extra (pip install -e ".[viz]")? Extra is cleaner but adds a build matrix.

Depends on

Related

  • docker-compose.yml

Metadata

Metadata

Assignees

Labels

choreMaintenance, dependencies and infra stuff

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions