Troubleshooting
etcd Bootstrap Failures
Section titled “etcd Bootstrap Failures”Symptom: etcd-bootstrap container exits with error
Section titled “Symptom: etcd-bootstrap container exits with error”- Check logs:
docker logs etcd-bootstrap - Verify etcd is healthy:
docker exec etcd etcdctl endpoint health - Ensure no port conflict on 2379:
ss -tlnp | grep 2379 - Restart the bootstrap job:
docker-compose up -d etcd-bootstrap
Symptom: API server fails to start (“cannot connect to etcd”)
Section titled “Symptom: API server fails to start (“cannot connect to etcd”)”- Verify etcd container is running:
docker-compose ps etcd - Check etcd health:
docker exec etcd etcdctl endpoint health - Ensure
ETCD_HOST=etcdin.env(use the container name, notlocalhost) - Restart:
docker-compose restart etcd && docker-compose up -d etcd-bootstrap
FalkorDB Connection Issues
Section titled “FalkorDB Connection Issues”Symptom: Health check shows falkordb: disconnected
Section titled “Symptom: Health check shows falkordb: disconnected”- Verify your FalkorDB instance is running and accessible from the Docker host
- Check
FALKORDB_HOSTandFALKORDB_PORTin.env - If FalkorDB is on a remote host, ensure the Docker host can reach it:
Terminal window docker exec api python -c "import socket; s=socket.create_connection(('10.0.70.120',6397),5); print('OK')" - If using a password, verify
FALKORDB_PASSWORDis set in etcd secrets (Admin UI) - Restart the API server:
docker-compose restart api
Symptom: Knowledge graph operations fail silently
Section titled “Symptom: Knowledge graph operations fail silently”- Check the API logs:
docker-compose logs api | grep -i falkor - Verify the graph name matches: ensure
KG_NAMEin.envmatches your FalkorDB graph - Check if schema indexes have been created: the first startup takes 7–10 minutes for production databases
Redis Connection Issues
Section titled “Redis Connection Issues”Symptom: Workers fail to connect to Redis
Section titled “Symptom: Workers fail to connect to Redis”- Verify Redis is healthy:
docker exec redis redis-cli -a redis123 ping - Check
REDIS_HOST=redisin.env(use the container name) - If using a custom password, ensure
REDIS_PASSWORDmatches in all services - Restart workers:
docker-compose restart rq-worker-1 rq-worker-2
Port Conflicts
Section titled “Port Conflicts”Symptom: bind: address already in use
Section titled “Symptom: bind: address already in use”# Find what's using the portss -tlnp | grep :8000 # APIss -tlnp | grep :6379 # Redisss -tlnp | grep :2379 # etcdss -tlnp | grep :80 # GatewayOptions:
- Stop the conflicting service
- Change the port mapping in
docker-compose.yml(left side only):ports:- "8001:8000" # Change host port from 8000 to 8001
Container Permission Issues
Section titled “Container Permission Issues”Symptom: Permission denied in worker or API logs
Section titled “Symptom: Permission denied in worker or API logs”On Linux, the user directive in docker-compose.yml maps to ${UID:-1000}:${GID:-1000}:
- Check your UID/GID:
id - Ensure data directories are writable:
Terminal window sudo chown -R $(id -u):$(id -g) ./data ./logs ./ingestion_data ./extraction_data - Or set
UIDandGIDin.env:Terminal window UID=$(id -u)GID=$(id -g)
Stuck or Failed Ingestion Jobs
Section titled “Stuck or Failed Ingestion Jobs”- Check the RQ Dashboard at
http://localhost:9181for failed jobs - View worker logs:
docker-compose logs rq-worker-1 - Clear stuck sessions:
Terminal window docker exec api python scripts/fix_stuck_sessions.py - Restart workers:
docker-compose restart rq-worker-1 rq-worker-2
Slow Startup
Section titled “Slow Startup”Symptom: API takes more than 15 minutes to become healthy
Section titled “Symptom: API takes more than 15 minutes to become healthy”- FalkorDB schema creation (133 indexes, 16 constraints) takes 7–10 minutes on first startup — this is expected
- Check progress:
docker-compose logs api | grep -i schema - If stuck, verify FalkorDB has sufficient memory (minimum 2 GB for production graphs)
Gateway Not Routing
Section titled “Gateway Not Routing”Symptom: Admin UI or API unreachable through port 80
Section titled “Symptom: Admin UI or API unreachable through port 80”- Verify all upstream services are running:
docker-compose ps - Check gateway logs:
docker-compose logs gateway - Verify nginx config:
docker exec gateway nginx -t - Check that
host.docker.internalresolves (Linux hosts — the compose file includesextra_hostsfor this)
Getting Help
Section titled “Getting Help”- Check the Health endpoint for component status
- Review container logs:
docker-compose logs -f [service_name] - Open an issue at github.com/nodekat/FluidRAG/issues