LightRAG/logs/2025-11-21-fix-docker-healthcheck.md
2025-12-05 14:31:13 +08:00

1.4 KiB

Task Log - Fix Docker Healthcheck and Port Conflicts

Actions

  • Docker Configuration:

    • Updated starter/docker-compose.yml postgres healthcheck to explicitly specify the database name (-d ${POSTGRES_DATABASE:-lightrag_multitenant}). This fixes the FATAL: database "lightrag" does not exist errors in the logs.
  • Test Script:

    • Updated starter/test_multi_tenant.sh to check for and kill any process holding port 9621 before starting containers. This resolves the Bind for 0.0.0.0:9621 failed error.

Decisions

  • Aggressive Port Cleanup: Added lsof ... | xargs kill -9 to the test script. This is necessary for a reliable "reset and run" experience in a dev environment where zombie processes might linger.
  • Healthcheck Precision: The default pg_isready behavior (using username as dbname) was incorrect for our setup where POSTGRES_USER=lightrag but POSTGRES_DB=lightrag_multitenant. Explicitly setting the database fixes the false negative healthchecks.

Next Steps

  1. Run the Test Script:

    cd starter
    ./test_multi_tenant.sh
    
  2. Verify Fixes:

    • Watch the logs (via docker-compose logs -f if needed) to ensure no more "database does not exist" errors appear.
    • Confirm the API container starts successfully without port conflict errors.
    • Proceed with WebUI verification at http://localhost:3000.