diff --git a/.env b/.env index 84087c6..e539d14 100644 --- a/.env +++ b/.env @@ -1,9 +1,15 @@ POSTGRES_PASSWORD=braindb2026 +OLLAMA_URL=http://192.168.1.217:11434 EMBEDDING_MODEL=nomic-embed-text CHAT_MODEL=qwen3:8b LOG_LEVEL=INFO SEARCH_TOP_K=10 SEARCH_THRESHOLD=0.65 -CORS_ORIGINS=http://localhost:3000,http://192.168.1.16:3001 +CORS_ORIGINS=* CHUNK_SIZE=700 CHUNK_OVERLAP=70 +VAULT_PATH=./vault +PUBLIC_API_URL=http://192.168.1.16:8001 +API_PORT=8001 +UI_PORT=3001 +POSTGRES_PORT=5433 diff --git a/docker-compose.yml b/docker-compose.yml index 8415458..9afdbf2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: - postgres_data:/var/lib/postgresql/data - ./infra/database/schema.sql:/docker-entrypoint-initdb.d/01_schema.sql:ro ports: - - "${POSTGRES_PORT:-5432}:5432" + - "${POSTGRES_PORT:-5433}:5432" networks: - brain-net healthcheck: @@ -41,53 +41,6 @@ services: timeout: 5s retries: 5 - # --------------------------------------------------------------------------- - # Ollama (local LLM inference) - # --------------------------------------------------------------------------- - ollama: - image: ollama/ollama:latest - container_name: second-brain-ollama - restart: unless-stopped - volumes: - - ollama_data:/root/.ollama - ports: - - "${OLLAMA_PORT:-11434}:11434" - networks: - - brain-net - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 60s - - # --------------------------------------------------------------------------- - # Ollama model bootstrap (pulls required models on first start) - # --------------------------------------------------------------------------- - ollama-bootstrap: - image: ollama/ollama:latest - container_name: second-brain-ollama-bootstrap - depends_on: - ollama: - condition: service_healthy - volumes: - - ollama_data:/root/.ollama - networks: - - brain-net - entrypoint: ["/bin/sh", "-c"] - command: - - | - OLLAMA_HOST=ollama:11434 ollama pull ${EMBEDDING_MODEL:-nomic-embed-text} - OLLAMA_HOST=ollama:11434 ollama pull ${CHAT_MODEL:-mistral} - restart: "no" - # --------------------------------------------------------------------------- # RAG API (FastAPI) # --------------------------------------------------------------------------- @@ -97,18 +50,20 @@ services: dockerfile: Dockerfile container_name: second-brain-rag-api restart: unless-stopped - env_file: - - .env environment: DATABASE_URL: postgresql://brain:${POSTGRES_PASSWORD:-brain}@postgres:5432/second_brain - OLLAMA_URL: http://ollama:11434 + OLLAMA_URL: ${OLLAMA_URL:-http://192.168.1.217:11434} + EMBEDDING_MODEL: ${EMBEDDING_MODEL:-nomic-embed-text} + CHAT_MODEL: ${CHAT_MODEL:-qwen3:8b} + LOG_LEVEL: ${LOG_LEVEL:-INFO} + SEARCH_TOP_K: ${SEARCH_TOP_K:-10} + SEARCH_THRESHOLD: ${SEARCH_THRESHOLD:-0.65} + CORS_ORIGINS: ${CORS_ORIGINS:-*} depends_on: postgres: condition: service_healthy - ollama: - condition: service_healthy ports: - - "${API_PORT:-8000}:8000" + - "${API_PORT:-8001}:8000" networks: - brain-net healthcheck: @@ -127,19 +82,18 @@ services: dockerfile: Dockerfile container_name: second-brain-ingestion restart: unless-stopped - env_file: - - .env environment: DATABASE_URL: postgresql://brain:${POSTGRES_PASSWORD:-brain}@postgres:5432/second_brain - OLLAMA_URL: http://ollama:11434 + OLLAMA_URL: ${OLLAMA_URL:-http://192.168.1.217:11434} VAULT_PATH: /vault + EMBEDDING_MODEL: ${EMBEDDING_MODEL:-nomic-embed-text} + CHUNK_SIZE: ${CHUNK_SIZE:-700} + CHUNK_OVERLAP: ${CHUNK_OVERLAP:-70} volumes: - - ./vault:/vault:ro + - ${VAULT_PATH:-./vault}:/vault:ro depends_on: postgres: condition: service_healthy - ollama: - condition: service_healthy networks: - brain-net @@ -152,19 +106,16 @@ services: dockerfile: Dockerfile container_name: second-brain-agents restart: unless-stopped - env_file: - - .env environment: DATABASE_URL: postgresql://brain:${POSTGRES_PASSWORD:-brain}@postgres:5432/second_brain - OLLAMA_URL: http://ollama:11434 + OLLAMA_URL: ${OLLAMA_URL:-http://192.168.1.217:11434} VAULT_PATH: /vault + CHAT_MODEL: ${CHAT_MODEL:-qwen3:8b} volumes: - - ./vault:/vault:ro + - ${VAULT_PATH:-./vault}:/vault:ro depends_on: postgres: condition: service_healthy - rag-api: - condition: service_healthy networks: - brain-net @@ -178,19 +129,17 @@ services: container_name: second-brain-ui restart: unless-stopped environment: - NEXT_PUBLIC_API_URL: http://localhost:${API_PORT:-8000} + NEXT_PUBLIC_API_URL: ${PUBLIC_API_URL:-http://localhost:8001} depends_on: - rag-api: - condition: service_healthy + - rag-api ports: - - "${UI_PORT:-3000}:3000" + - "${UI_PORT:-3001}:3000" networks: - brain-net volumes: postgres_data: redis_data: - ollama_data: networks: brain-net: