Minimal platform for a small web performance monitoring company moving away from SSH-and-screen deployments.
Prerequisites: Docker Desktop or Docker Engine, Docker Compose, and make.
make up
make seedOpen:
- Dashboard: http://localhost:8080
- API docs: http://localhost:8000/docs
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (
admin/admin)
api: FastAPI ingestion/config/dashboard APIworker: Go background worker consuming queued eventsfrontend: static dashboard served by Nginxredis: queue and small aggregate storeprometheus: metrics scrapinggrafana: provisioned dashboard surface
make up # build and run the full local platform
make down # stop and remove containers
make logs # follow logs for all services
make ps # show running services
make seed # send sample events through the API
make smoke # quick health checks
make fail # simulate a worker outage
make recover # restart the workerLoom link: https://www.loom.com/share/2d267795f43c4d308565457c9544a00a
Suggested 5-minute flow:
- Run
make up, thenmake seed. - Show the dashboard and Grafana.
- Run
make failand send more events withmake seed. - Show queue depth rising in Grafana/Prometheus.
- Run
make recoverand show the worker drain the queue.
See docs/user-guide.md. In short: add a new directory under services/, give it a Dockerfile and health endpoint, add a services/<name>/compose.yml fragment, and add a Prometheus target file if it exposes metrics. make up discovers service compose fragments automatically, so no platform code has to change.