Skip to content

[SEC-004] CRITICAL: Missing Health Checks #39

@AndrewHakmi

Description

@AndrewHakmi

Problem

No health checks configured for any Docker services. Services can fail silently without detection.

File: docker-compose.yml

Impact

  • Undetected service failures
  • No automatic recovery
  • Cascading failures
  • Prolonged outages

Fix

Add health checks to all services:

fastapi:
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 40s

postgres:
  healthcheck:
    test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
    interval: 10s
    timeout: 5s
    retries: 5

redis:
  healthcheck:
    test: ["CMD", "redis-cli", "ping"]
    interval: 10s
    timeout: 5s
    retries: 3

neo4j:
  healthcheck:
    test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:7474"]
    interval: 10s
    timeout: 5s
    retries: 3

qdrant:
  healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:6333/health"]
    interval: 10s
    timeout: 5s
    retries: 3

Update depends_on to wait for healthy services:

fastapi:
  depends_on:
    postgres:
      condition: service_healthy
    neo4j:
      condition: service_healthy

Verification

docker-compose up -d
docker ps  # Should show health status
docker-compose ps  # Shows health in status column

Estimated Time

2-3 hours

Files

  • docker-compose.yml

References

  • COMPREHENSIVE_TODO.md: SEC-004

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions