conproxy 0.2.1

Cache proxy server for heterogeneous RAG/vector search backends with cascade, scope, and MCP
Documentation
services:
  qdrant:
    image: qdrant/qdrant:latest
    container_name: conproxy-cqdrant
    ports:
      - "6333:6333"
  elastic:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.13.0
    container_name: conproxy-ces
    environment:
      discovery.type: single-node
      xpack.security.enabled: "false"
      ES_JAVA_OPTS: "-Xms512m -Xmx512m"
      # Local dev: host disk often >90%; don't block shard allocation
      cluster.routing.allocation.disk.threshold_enabled: "false"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
  meili-1:
    image: getmeili/meilisearch:v1.8
    container_name: conproxy-cmeili-1
    environment:
      MEILI_MASTER_KEY: conproxy_test_key
      MEILI_ENV: development
      MEILI_NO_ANALYTICS: "true"
    ports:
      - "7700:7700"
  meili-2:
    image: getmeili/meilisearch:v1.8
    container_name: conproxy-cmeili-2
    environment:
      MEILI_MASTER_KEY: conproxy_test_key
      MEILI_ENV: development
      MEILI_NO_ANALYTICS: "true"
    ports:
      - "7701:7700"
  postgres:
    image: ankane/pgvector:v0.5.1
    container_name: conproxy-cpg
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: conproxy_test
    ports:
      - "5432:5432"
  opensearch:
    image: opensearchproject/opensearch:2.18.0
    container_name: conproxy-cos
    environment:
      discovery.type: single-node
      DISABLE_SECURITY_PLUGIN: "true"
      DISABLE_INSTALL_DEMO_CONFIG: "true"
      OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m"
      cluster.routing.allocation.disk.threshold_enabled: "false"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9201:9200"