# Do not edit this file directly. Use a ‘docker-compose.override.yaml’ file if you can. # Refer to `docker-compose.override.yaml.example’ for some sample configurations. volumes: data-node: pgdata2: libre-images: libre-logs: meili_data: services: librechat_api: # container_name: librechat_api ports: - "${PORT}:${PORT}" depends_on: - mongodb - rag_api image: ghcr.io/danny-avila/librechat-dev:latest restart: always user: "${UID}:${GID}" extra_hosts: - "host.docker.internal:host-gateway" environment: - HOST=0.0.0.0 - MONGO_URI=mongodb://mongodb:27017/LibreChat - MEILI_HOST=http://meilisearch:7700 - RAG_PORT=${RAG_PORT:-8000} - RAG_API_URL=http://rag_api:${RAG_PORT:-8000} - DOMAINNAME=${DOMAINNAME} volumes: - type: bind source: ./.env target: /app/.env - libre-images:/app/client/public/images - libre-logs:/app/api/logs - type: bind source: ./config/librechat.yaml target: /app/librechat.yaml labels: - "traefik.enable=true" - "traefik.http.routers.librechat.entrypoints=web-secure" - "traefik.http.routers.librechat.rule=Host(`chat.${DOMAINNAME}`) || Host(`bot.${DOMAINNAME}`)" - "traefik.http.routers.librechat.middlewares=csrf@file" - "traefik.http.routers.librechat.tls.certresolver=letsencrypt" - "traefik.http.routers.librechat.service=librechat_app" - "traefik.http.services.librechat_app.loadbalancer.server.port=${PORT}" mongodb: # container_name: chat-mongodb image: mongo restart: always user: "${UID}:${GID}" volumes: - data-node:/data/db command: mongod --noauth meilisearch: # container_name: chat-meilisearch image: getmeili/meilisearch:v1.7.3 restart: always user: "${UID}:${GID}" environment: - MEILI_HOST=http://meilisearch:7700 - MEILI_NO_ANALYTICS=true volumes: - meili_data:/meili_data vectordb: # container_name: vectordb image: ankane/pgvector:latest environment: POSTGRES_DB: mydatabase POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword restart: always volumes: - pgdata2:/var/lib/postgresql/data rag_api: # container_name: rag_api image: ghcr.io/danny-avila/librechat-rag-api-dev:latest environment: POSTGRES_DB: mydatabase POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword DB_HOST: vectordb RAG_PORT: ${RAG_PORT:-8000} restart: always depends_on: - vectordb env_file: - .env