Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Local dev topology: backend (FastAPI) + frontend (Vite dev server) + Jaeger
# (OTLP collector + UI). One command to a working stack with traces.
#
# `docker compose up` brings the three services up on their published ports.
# Backend at http://localhost:8000, frontend at http://localhost:5173, Jaeger
# UI at http://localhost:16686. The frontend image (built by ticket #21) ships
# the Vite dev server bound to 0.0.0.0:5173 so HMR works through the published
# port.

services:
app:
build: .
ports:
- "8000:8000"
env_file:
- path: .env
required: false
depends_on:
- jaeger
environment:
# OTLP gRPC endpoint inside the compose network — the SDK auto-detects
# OTEL_EXPORTER_OTLP_ENDPOINT and emits to Jaeger's OTLP receiver.
- OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4317
- OTEL_EXPORTER_OTLP_PROTOCOL=grpc
- OTEL_SERVICE_NAME=harness-python-react

frontend:
build: ./frontend
ports:
- "5173:5173"
depends_on:
- app
# Bind-mount the source so Vite HMR sees host edits. node_modules stays
# inside the container so platform-native deps aren't shadowed.
volumes:
- ./frontend:/app
- /app/node_modules

jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686" # Jaeger UI
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP