Overview
When registering a new company in the open-source setup, the system fails to connect to Qdrant, resulting in a failed operation.
The root cause appears to be internal Docker network misconfiguration, where the service URL for Qdrant is either unreachable or misconfigured, blocking feature embedding or vector storage during tenant/company onboarding.
This is a critical integration failure that breaks functionality dependent on vector storage (e.g., search, embedding, semantic ops).
Steps to Reproduce
1. Setup open-source environment using Docker Compose.
2. Register a new company via the UI or `POST /api/company/register`.
3. Observe backend logs – company registration fails due to Qdrant connection issue.
Expected Behavior
The backend should successfully connect to Qdrant via the configured internal URL and complete company registration, including creating Qdrant collections or vectors if needed.
Actual Behavior
The request fails during the Qdrant call.
Company is not registered or onboarding fails partway through.
Impact
- Major functional break: registration cannot complete successfully.
- Any downstream services relying on Qdrant are also broken.
- Introduces friction for self-hosted users and slows down adoption.
Proposed Remediation
✔ Confirm Qdrant service is correctly defined in `docker-compose.yml` and is part of the same network
✔ Use Docker internal hostnames (e.g., `http://qdrant:6333`) — make sure they match service names
✔ Add health checks to Qdrant in Docker Compose to delay startup of dependent services
✔ Improve error handling in Qdrant client (fallback, retries, clearer errors)
✔ Consider making Qdrant optional or fail-tolerant during registration in open-source setups
Overview
When registering a new company in the open-source setup, the system fails to connect to Qdrant, resulting in a failed operation.
The root cause appears to be internal Docker network misconfiguration, where the service URL for Qdrant is either unreachable or misconfigured, blocking feature embedding or vector storage during tenant/company onboarding.
This is a critical integration failure that breaks functionality dependent on vector storage (e.g., search, embedding, semantic ops).
Steps to Reproduce
Expected Behavior
Actual Behavior
Impact
Proposed Remediation