Prerequisites
- Docker 20.10 or later
- Docker Compose 2.0 or later
- Git
Installation
Configure your environment
Copy the provided template and open it in your editor:The key variables to set before starting:
Never commit your
.env file. It is listed in .gitignore by default. Only .env.example is tracked in version control.Start all services
The Alternatively, start services directly with Docker Compose:When the stack is ready, the script prints the following URLs:Verify the running containers:You should see three containers:
start_stack.sh script runs pre-flight checks, pulls images, and starts all containers:sa_api, sa_chromadb, and sa_ollama.Ingest the knowledge base
Before the first conversation, load the curated technical knowledge base into ChromaDB. The You should see the
start_stack.sh script handles this automatically on first run. You can verify ChromaDB is populated by checking its HTTP API directly:softarchitect collection listed. If the collection is empty, restart the stack — the API container seeds the vector store on startup.The dedicated
/api/v1/knowledge/ingest and /api/v1/knowledge/status endpoints are planned for Phase 2. Knowledge base ingestion currently happens automatically during container initialization.Tuning for your hardware
Two variables control how much context the RAG pipeline sends to the LLM. Adjust them in.env to match your model’s context window and prevent out-of-memory errors:
| Variable | Default | Ollama (8K context) | Gemini / Groq |
|---|---|---|---|
LLM_MAX_PROMPT_CHARS | 200000 | 30000 | 200000 |
RAG_MAX_CHUNKS | 3 | 2 | 5 |
Stopping the stack
Next steps
- Read the Architecture page to understand how the system is structured.
- Browse the interactive API reference at
http://localhost:8000/docsonce the stack is running.