Makefile Reference¶
The Makefile provides shortcut commands for common tasks. Run make help to see all available targets.
Lifecycle¶
| Command | Description |
|---|---|
make up |
Start all services (docker compose up -d) |
make down |
Stop all services |
make build |
Rebuild all Docker images from scratch (no cache) |
make rebuild |
Rebuild images and restart services |
make prod |
Start in production mode (uses docker-compose.prod.yml overlay) |
Observability¶
| Command | Description |
|---|---|
make logs |
Follow logs for all services |
make logs-app |
Follow logs for the PHP app only |
make logs-mysql |
Follow logs for MySQL only |
make logs-rag-api |
Follow logs for the RAG API only |
make logs-llm-sidecar |
Follow logs for the LLM sidecar only |
make status |
Show container status and run health checks |
Log filtering
make logs-<service> works for any service name defined in docker-compose.yml. Replace <service> with app, mysql, qdrant, rag-api, llm-sidecar, or init.
Shells¶
| Command | Description |
|---|---|
make shell |
Open a bash shell inside the PHP app container |
make db-shell |
Open a MySQL CLI connected to the app database |
Database¶
| Command | Description |
|---|---|
make db-import FILE=path/to/dump.sql |
Import a SQL file into the Docker MySQL container |
Example:
make db-import FILE=~/downloads/vlsm-dump.sql
After importing, run make rag-refresh to update the RAG index.
RAG¶
| Command | Description |
|---|---|
make rag-refresh |
Re-export schema, rebuild snippets, and upload to Qdrant |
make rag-reset |
Delete the Qdrant collection and re-seed from scratch |
See RAG Seeding for details on when to use each.
Setup¶
| Command | Description |
|---|---|
make init-submodules |
Initialize git submodules (if llm-sidecar/ is empty) |
The Makefile also automatically creates .env from .env.example if it doesn't exist when you run make up.
Cleanup¶
| Command | Description | What it removes |
|---|---|---|
make clean |
Full cleanup | Containers, volumes, and locally-built images |
make clean-data |
Data cleanup | Containers and volumes (database data, Qdrant data, fastembed cache) |
These commands delete data
make clean and make clean-data remove Docker volumes, which means your MySQL data, Qdrant index, and downloaded embedding model will be lost. You'll need to re-import the InteLIS database and re-seed RAG after running these.