diff --git a/container-compose.yml b/container-compose.yml new file mode 100644 index 0000000000..b30f26f2b8 --- /dev/null +++ b/container-compose.yml @@ -0,0 +1,72 @@ +# 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. + +services: + api: + container_name: LibreChat + ports: + - "${PORT}:${PORT}" + depends_on: + - mongodb + - rag_api + image: ghcr.io/danny-avila/librechat-dev:latest + restart: always + user: "${UID}:${GID}" + 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} + volumes: + - type: bind + source: ./.env + target: /app/.env + bind: + selinux: z + - ./images:/app/client/public/images:z + - ./uploads:/app/uploads:z + - ./logs:/app/api/logs:z + mongodb: + container_name: chat-mongodb + image: mongo + restart: always + user: "${UID}:${GID}" + volumes: + - ./data-node:/data/db:z + command: mongod --noauth + meilisearch: + container_name: chat-meilisearch + image: getmeili/meilisearch:v1.12.3 + restart: always + user: "${UID}:${GID}" + environment: + - MEILI_HOST=http://meilisearch:7700 + - MEILI_NO_ANALYTICS=true + - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} + volumes: + - ./meili_data_v1.12:/meili_data:z + 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:z + rag_api: + container_name: rag_api + image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest + environment: + - DB_HOST=vectordb + - RAG_PORT=${RAG_PORT:-8000} + restart: always + depends_on: + - vectordb + env_file: + - .env + +volumes: + pgdata2: