diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 890d0df..7d0fac1 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -24,6 +24,7 @@ services: db: image: postgres:16-alpine + stop_grace_period: 120s volumes: - pgdata:/var/lib/postgresql/data environment: @@ -32,15 +33,21 @@ services: POSTGRES_DB: fabledassistant networks: - fabledassistant_backend + # Lenient by design: a transient host exec/healthcheck stall (incident: + # runc setns failures -> "unhealthy" -> SIGKILL -> crash loop) must never + # escalate to killing the DB. Health here only gates app startup order. healthcheck: test: ["CMD-SHELL", "pg_isready -U fabled"] - interval: 10s - timeout: 5s - retries: 5 + interval: 30s + timeout: 10s + retries: 10 + start_period: 180s deploy: restart_policy: condition: on-failure - max_attempts: 5 + delay: 10s + max_attempts: 0 + window: 120s ollama: image: ollama/ollama diff --git a/docker-compose.quickstart.yml b/docker-compose.quickstart.yml index e2a9ee5..882e80b 100644 --- a/docker-compose.quickstart.yml +++ b/docker-compose.quickstart.yml @@ -39,17 +39,21 @@ services: db: image: postgres:16-alpine + stop_grace_period: 120s volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: fabled POSTGRES_PASSWORD: fabled POSTGRES_DB: fabledassistant + # Lenient by design: a transient host exec/healthcheck stall must never + # escalate to killing the DB. Health here only gates app startup order. healthcheck: test: ["CMD-SHELL", "pg_isready -U fabled"] - interval: 10s - timeout: 5s - retries: 5 + interval: 30s + timeout: 10s + retries: 10 + start_period: 180s restart: unless-stopped ollama: diff --git a/docker-compose.yml b/docker-compose.yml index 7be1606..2a06564 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,17 +34,22 @@ services: db: image: postgres:16-alpine + stop_grace_period: 120s + restart: unless-stopped volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: ${POSTGRES_USER:-fabled} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-fabled} POSTGRES_DB: ${POSTGRES_DB:-fabledassistant} + # Lenient by design: a transient host exec/healthcheck stall must never + # escalate to killing the DB. Health here only gates app startup order. healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-fabled}"] - interval: 5s - timeout: 5s - retries: 5 + interval: 30s + timeout: 10s + retries: 10 + start_period: 180s ollama: image: ollama/ollama