UNPKG

autollama

Version:

Modern JavaScript-first RAG framework with contextual embeddings, professional CLI, and one-command deployment

144 lines (137 loc) 3.44 kB
services: postgres: image: postgres:15-alpine container_name: autollama-postgres environment: POSTGRES_USER: autollama POSTGRES_PASSWORD: autollama POSTGRES_DB: autollama # Memory optimizations for small instances POSTGRES_SHARED_BUFFERS: 64MB POSTGRES_EFFECTIVE_CACHE_SIZE: 512MB POSTGRES_WORK_MEM: 2MB POSTGRES_MAINTENANCE_WORK_MEM: 32MB volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" networks: - autollama-network deploy: resources: limits: memory: 256M reservations: memory: 128M healthcheck: test: ["CMD-SHELL", "pg_isready -U autollama"] interval: 10s retries: 5 restart: unless-stopped qdrant: image: qdrant/qdrant:latest container_name: autollama-qdrant environment: # Memory optimizations for Qdrant QDRANT__SERVICE__MAX_REQUEST_SIZE_MB: 32 QDRANT__STORAGE__PERFORMANCE__MAX_SEARCH_THREADS: 2 QDRANT__STORAGE__OPTIMIZERS__MEMMAP_THRESHOLD: 100000 ports: - "6333:6333" volumes: - qdrant_data:/qdrant/storage networks: - autollama-network deploy: resources: limits: memory: 512M reservations: memory: 256M restart: unless-stopped autollama-bm25: build: ./bm25-service container_name: autollama-bm25 environment: PORT: 3002 PYTHONPATH: /app volumes: - autollama-bm25-data:/app/data/bm25_indices networks: - autollama-network ports: - "3012:3002" deploy: resources: limits: memory: 256M reservations: memory: 128M restart: unless-stopped autollama-api: build: ./api container_name: autollama-api env_file: - .env environment: NODE_ENV: production PORT: 3001 DATABASE_URL: postgresql://autollama:autollama@postgres:5432/autollama QDRANT_URL: http://autollama-qdrant:6333 # Auto-migration settings AUTO_MIGRATE: "true" MIGRATION_ON_START: "true" DB_HOST: postgres DB_PORT: 5432 DB_USER: autollama DB_NAME: autollama # Node.js memory optimizations NODE_OPTIONS: "--max-old-space-size=512 --max-semi-space-size=64" networks: - autollama-network ports: - "3001:3001" - "3003:3003" depends_on: postgres: condition: service_healthy qdrant: condition: service_started autollama-bm25: condition: service_started deploy: resources: limits: memory: 1G reservations: memory: 512M restart: unless-stopped autollama-frontend: build: context: ./config/react-frontend dockerfile: Dockerfile container_name: autollama-frontend environment: NODE_ENV: production networks: - autollama-network ports: - "8080:80" depends_on: - autollama-api deploy: resources: limits: memory: 128M reservations: memory: 64M restart: unless-stopped volumes: postgres_data: qdrant_data: autollama-bm25-data: networks: autollama-network: driver: bridge # All services communicate via service names (e.g., autollama-api:3001) # DO NOT use localhost in nginx proxy configs - use service names instead