fix: use TCP socket health checks for database services

Add bash /dev/tcp health checks to MongoDB (port 27017) and PostgreSQL/
pgvector (port 5432) services, which previously had no health checks.
Update depends_on conditions so dependent services (rag_api, api) wait
for their database dependencies to be healthy before starting.

Files changed: docker-compose.yml, deploy-compose.yml, rag.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Will Wilson 2026-03-08 21:41:15 +00:00
parent 4a8a5b5994
commit 0bcebac21c
3 changed files with 44 additions and 7 deletions

View file

@ -9,8 +9,10 @@ services:
ports:
- 3080:3080
depends_on:
- mongodb
- rag_api
mongodb:
condition: service_healthy
rag_api:
condition: service_started
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
@ -51,6 +53,12 @@ services:
volumes:
- ./data-node:/data/db
command: mongod --noauth
healthcheck:
test: ["CMD", "bash", "-c", "echo > /dev/tcp/localhost/27017"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
meilisearch:
container_name: chat-meilisearch
image: getmeili/meilisearch:v1.35.1
@ -73,6 +81,12 @@ services:
restart: always
volumes:
- pgdata2:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "bash", "-c", "echo > /dev/tcp/localhost/5432"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
rag_api:
image: registry.librechat.ai/danny-avila/librechat-rag-api-dev-lite:latest
environment:
@ -80,7 +94,8 @@ services:
- RAG_PORT=${RAG_PORT:-8000}
restart: always
depends_on:
- vectordb
vectordb:
condition: service_healthy
env_file:
- .env