Skip to main content

Operations Handbook Overview

This handbook is for operations engineers, SREs, and platform administrators, covering MimirQ's deployment methods, health checks, observability, and routine operations.

Service Overview

ServiceDefault PortHealth Check EndpointDescription
FastAPI (Main Service)8000GET /api/v1/health/readyAPI entry point
Arq Workermake worker-checkDocument parsing and indexing tasks
PostgreSQL5432pg_isreadyRelational data storage
Milvus19530gRPC health checkVector database
Redis6379redis-cli pingCache & message queue
MinIO9000 / 9001GET /minio/health/liveObject storage

Infrastructure Dependencies

Deployment Method Comparison

MethodUse CaseProsCons
Docker ComposeLocal dev, PoC, small teamsOne-click start, simple configNo auto-scaling, no HA
Helm / K8sProduction, multi-tenantElastic scaling, rolling updates, health probesHigher operational complexity
Source DeployDeep debugging, custom devFull controlManual dependency & process management
Recommendation

For production, Helm / K8s deployment is recommended, paired with a PostgreSQL HA cluster and Milvus distributed mode. Use Docker Compose for local development.

Observability

Prometheus Metrics

With PROMETHEUS_ENABLED=true, MimirQ exposes a Prometheus-compatible /metrics endpoint:

Metric CategoryExamplesDescription
HTTP Requestshttp_requests_total, http_request_duration_secondsGrouped by route, method, status code
In-flight Requestshttp_requests_in_progressCurrent API concurrency

Monitor Arq, PostgreSQL, Milvus, Redis, and MinIO through application logs, make worker-check, and dependency-specific exporters; MimirQ does not expose queue-specific metrics directly.

Grafana Dashboard

Recommended panels:

  • API Overview -- Request volume, latency P50/P95/P99, error rate
  • Task Queue -- Pending count, execution duration, failure rate
  • Storage -- PostgreSQL connection pool, Milvus query latency, Redis hit rate
  • Resources -- CPU, memory, disk I/O

See Observability Configuration for details.

Key Operations

OperationDocumentation
Full path from dataset to evaluationFull Operation Guide
First install and minimum configurationQuick Start
Health Probe ConfigurationHealth Checks
Monitoring & AlertingObservability
Deployment & UpgradesDeployment Guide
Configuration & MetadataSettings Management

Daily Inspection Checklist

Daily Checks
  1. Verify all service health endpoints return 200
  2. Run make worker-check to confirm the Arq worker heartbeat
  3. Check PostgreSQL connection pool utilization < 80%
  4. Confirm Milvus collection sync status is normal
  5. Check disk usage (MinIO storage / PostgreSQL WAL)
  6. Review Grafana alert panel for unresolved alerts

Key Configuration Files

FilePurpose
docker/docker-compose*.ymlDocker Compose orchestration
deploy/helm/mimirq/Helm Chart templates
.env.example / app/core/config.pyEnvironment template and application settings
alembic.iniDatabase migration config
.env / web/.env.localLocal backend and frontend environment variables
Sensitive Configuration

Database passwords, JWT secrets, API keys, and other sensitive configuration should be injected via environment variables or Kubernetes Secrets. Never commit them to the code repository.