fix: brain service — pgvector extension init, meili key length

Brain service fully operational:
- All 6 containers running
- API responds on /api/health
- Worker processes items (fetch, screenshot, classify, index)
- Tested: link creation, background processing, asset archival

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yusuf Suleman
2026-04-01 11:53:25 -05:00
parent 8275f3a71b
commit c9e776df59
3 changed files with 1748 additions and 4 deletions

View File

@@ -27,11 +27,13 @@ app.include_router(router)
@app.on_event("startup")
async def startup():
from sqlalchemy import text as sa_text
from app.database import engine, Base
from app.models.item import Item, ItemAsset, AppLink # noqa: import to register models
# Create tables if they don't exist
# Enable pgvector extension before creating tables
async with engine.begin() as conn:
await conn.execute(sa_text("CREATE EXTENSION IF NOT EXISTS vector"))
await conn.run_sync(Base.metadata.create_all)
# Ensure Meilisearch index exists

View File

@@ -12,7 +12,7 @@ services:
- DATABASE_URL=postgresql+asyncpg://brain:brain@brain-db:5432/brain
- REDIS_URL=redis://brain-redis:6379/0
- MEILI_URL=http://brain-meili:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-key}
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-secure-key-2026}
- BROWSERLESS_URL=http://brain-browserless:3000
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o-mini}
@@ -43,7 +43,7 @@ services:
- DATABASE_URL=postgresql+asyncpg://brain:brain@brain-db:5432/brain
- REDIS_URL=redis://brain-redis:6379/0
- MEILI_URL=http://brain-meili:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-key}
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-secure-key-2026}
- BROWSERLESS_URL=http://brain-browserless:3000
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o-mini}
@@ -85,7 +85,7 @@ services:
container_name: brain-meili
restart: unless-stopped
environment:
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-key}
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-brain-meili-secure-key-2026}
- MEILI_ENV=production
volumes:
- ./data/meili:/meili_data

File diff suppressed because one or more lines are too long